Rocky Linux 9 - CVE-2024-6387: regreSSHion
Neil Hanlon
更新 - 2024-07-03 17:00 UTC
今天,RHSA-2024:4312 发布,解决了 CVE-2024-6387。该更新已重新构建用于 Rocky Linux,可在 dl.rockylinux.org 上作为 openssh-8.7p1-38.el9_4.1 获取。目前正在同步到镜像网络。
如果您安装了 SIG/Security openssh 包,在下次 dnf upgrade 时,它将被升级到此新的 BaseOS 包。您可以使用 rpm -q openssh 命令确认已安装的 openssh 版本。
如果您已应用 LoginGraceTime 缓解措施,建议在升级到已打补丁的 openssh 后恢复此更改,并重新启动 sshd。
原始公告如下
CVE-2024-6387: Rocky Linux 9 中的 OpenSSH 漏洞
一个关键漏洞,标识为 CVE-2024-6387,影响所有 Enterprise Linux 9 系统(包括 Rocky Linux 9)上的 OpenSSH 服务器 (sshd)。此问题涉及一个信号处理程序竞争条件,可能导致远程代码执行。
详细信息
如果客户端在 LoginGraceTime(默认 120 秒)内未能通过身份验证,会触发 sshd 的 SIGALRM 处理程序,该处理程序会调用非异步信号安全函数,如 syslog()。此漏洞不会影响随 Enterprise Linux 8 提供的版本,因为有问题的代码是在较新的上游版本中引入的。
风险潜力
虽然远程代码执行是可能的,但这需要一个复杂且耗时的竞争条件。大多数攻击更可能导致 sshd 服务崩溃。大量连接可能可以通过网络监控检测到。
缓解措施
要解决此问题,您可以选择更新到 SIG/Security 存储库中的 openssh-8.7p1-38.el9_4.security.0.5,或配置您的 ssh 服务器以减少 LoginGraceTime 参数。
使用 SIG/Security OpenSSH 包进行缓解
对于 SIG/Security OpenSSH 包,您可以遵循以下说明。在使用此包之前,请务必阅读有关此包的信息,其中包含除此 CVE 修复之外的其他更改。特别是,SIG/Security openssh 在构建时没有 Kerberos 身份验证支持,因此应谨慎确保此包适合您的用例 - 如果不适合,请使用下面的配置缓解过程。
此外,SIG/Security 的存储库包含覆盖基础发行版的其他包:glibc 和 microcode_ctl。虽然这些包的更改对系统应该是透明的并且已经过测试,但在安装它们之前,您应该审查有关这些包及其具体更改的信息。
以下说明将禁用 security-common 存储库,以便只使用 sig-security 中的 openssh。
发布包可以安装在其他 Enterprise Linux 发行版上。请参阅 sig-security wiki 获取更多信息。
- 安装 SIG/Security 发布文件
dnf install rocky-release-security
- 禁用 SIG/Security security-common 存储库
dnf config-manager --disable security-common
- 升级 openssh
dnf --enablerepo=security-common update openssh\*
- 确认已安装版本
openssh-8.7p1-38.el9_4.security.0.5
rpm -q openssh
在安装 openssh 期间,服务将自动重新启动。
使用 LoginGraceTime 配置进行缓解
如果您因任何原因无法使用 SIG/Security 覆盖包,您可以应用配置缓解措施。请注意,将 LoginGraceTime 设置为 0 可以缓解远程代码执行风险,但会使 SSH 服务更容易受到 DoS 攻击。
- 以 root 用户身份打开
/etc/ssh/sshd_config。 - 添加或修改
LoginGraceTime参数LoginGraceTime 0 - 保存并关闭文件。
- 重启 sshd 服务
systemctl restart sshd.service
参与其中
想随时了解安全漏洞、社区更新以及来自 Rocky SIG 的最新信息吗?加入我们的 chat.rockylinux.org 和 forums.rockylinux.org - 或者在您喜欢的 RSS 阅读器中订阅我们的 rss feed。