CVE-2024-6409:OpenSSH 再次受到攻击

RHEL 9 的核心潜藏着一颗定时炸弹。

来源:安全实验室新闻频道

RHEL 9 的核心潜藏着一颗定时炸弹。

信息安全专家在 Red Hat Enterprise Linux 9 (RHEL 9) 中包含的 OpenSSH 软件包中发现了一个新漏洞。该问题被指定为 CVE-2024-6409,它与之前发现的 regreSSHion 不同,允许攻击者无需身份验证即可在远程服务器上执行代码。该漏洞还影响 Fedora Linux 36 和 37 的软件包。

已找到 OpenSSH Linux CVE-2024-6409, 先前识别的 regreSSHion

该漏洞是由于 SIGALRM 中断处理程序中的竞争条件造成的,该竞争条件是由于执行未设计为从信号处理程序异步执行的函数而发生的。当 LoginGraceTime 参数指定的超时发生时,处理程序将触发,这会中断代码的当前执行。当触发 SIGALRM 时,调用使用动态内存分配的函数(例如 syslog())可能会破坏内部 malloc 结构。

竞争条件

CVE-2024-6409 与 Grace_alarm_handler() 信号处理程序中对 cleanup_exit() 的调用密切相关。在主要的 OpenSSH 代码库中,此调用不会导致问题,但在 RHEL 9 和 Fedora 软件包中添加了一个补丁,该补丁添加了对 cleanup_exit() 的函数调用以生成审核事件。事实证明,这个函数并不是为在信号处理程序中使用而设计的。

导致该漏洞的补丁用于 RHEL 9 以及基于 OpenSSH 8.7p1 的衍生发行版。在最新版本的 Fedora 中,不会出现该问题,因为 Fedora 38 使用较新版本的 OpenSSH,其中 cleanup_exit() 函数保持不变。

要消除 sshd 配置 (sshd_config) 中的漏洞,建议将 LoginGraceTime 参数设置为 0。尽管标准保护方法(例如使用“-e”选项禁用syslog输出,无效。