4.8. 动态编程语言、网页和数据库服务器


完全支持新的 nodejs:20 模块流

以前作为技术预览提供的新模块流 nodejs:20 被发布的 RHEA-2023:7249 公告完全支持 。nodejs:20 模块流现在提供 Node.js 20.9,它是一个长期支持(LTS)版本。

与 RHEL 8.7 以来的 Node.js 18 相比,RHEL 8.9 中包含的 Node.js 20 提供了许多新功能、bug 修复、安全修复和性能改进。

主要变更包括:

  • V8 JavaScript 引擎已升级至版本 11.3。
  • npm 软件包管理器已升级至版本 9.8.0。
  • Node.js 引入了一个新的实验性权限模型。
  • Node.js 引入了一个新的实验性单可执行文件应用程序(SEA)功能。
  • Node.js 提供了对 Experimental ECMAScript 模块(ESM)加载程序的改进。
  • Node.js 18 中作为实验性 node:test 模块引进的原生测试运行程序现在被视为是稳定的。

要安装 nodejs:20 模块流,请使用:

# yum module install nodejs:20

如果要从 nodejs:18 流升级,请参阅 切换到更新的流

有关 nodejs 应用程序流支持长度的详情,请查看 Red Hat Enterprise Linux 应用程序流生命周期

Bugzilla:2186718

Python tarfile 提取函数的一个新 filter 参数

要缓解 CVE-2007-4559,Python 向 tarfile 提取函数添加了一个 filter 参数。参数允许关闭 tar 功能以提高安全性(包括阻止 CVE-2007-4559 目录遍历攻击)。如果没有指定过滤器,则在 RHEL 中默认使用 'data' 过滤器,这是最安全但最有限的。另外,当应用程序受到影响时,Python 会发出一个警告。

如需更多信息,包括隐藏警告的说明,请参阅知识库文章 Python tarfile 库中目录遍历攻击的缓解(CVE-2007-4559)

Jira:RHELDOCS-16405[1]

HTTP::Tiny Perl 模块现在默认验证 TLS 证书

HTTP::Tiny Perl 模块中的 verify_SSL 选项的默认值已从 0 变为 1,以在使用 HTTPS 时验证 TLS 证书。这个更改修复了 HTTP::TinyCVE-2023-31486 和 CPAN Perl 模块的 CVE-2023-31484

为了支持 TLS 验证,这个更新在 perl-HTTP-Tiny 软件包中添加了以下依赖项:

  • perl-IO-Socket-SSL
  • perl-Mozilla-CA
  • perl-Net-SSLeay

Bugzilla:2228409[1]

Python 中的一个控制电子邮件地址解析的新环境变量

为缓解 CVE-2023-27043,一个向后兼容的更改,以确保在 Python 3 中引入了更严格的电子邮件地址的解析。

RHSA-2024:0256 中的更新引入了一个新的 PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING 环境变量。当您将此变量设置为 true 时,以前的、不太严格的解析行为是整个系统的默认设置:

export PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING=true

但是,对受影响函数的单个调用可能仍然启用更严格的行为。

您可以通过使用以下内容创建 /etc/python/email.cfg 配置文件来取得相同的结果:

[email_addr_parsing]
PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true

如需更多信息,请参阅知识库文章 缓解 Python 中引入更严格的电子邮件地址解析的 CVE-2023-27043

Jira:RHELDOCS-17369[1]

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.