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 应用程序流生命周期。
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::Tiny
的 CVE-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]