在 OpenSSH 的 server(sshd)处理信号的方式中发现了一个严重的竞态条件漏洞,这会影响运行 AlmaLinux 9 和 CentOS 9 的系统。如果远程用户发起连接但未能在某个超时时间内完成认证,就会异步触发 SIGALRM 信号。关键是,信号处理程序会调用 syslog() 等函数,而这些函数在此上下文中并不安全。因此,成功利用该漏洞可能允许未授权攻击者执行远程代码(RCE)——这对 server 安全构成重大威胁。
此问题影响运行 OpenSSH version 8.7p1-43.el9 的主机,包括使用 CentOS Linux 9 的主机。该漏洞被标识为 CVE-2024-6409,并在 OpenSSH build changelog 中有引用。需要注意的是,像 Nessus 这样的安全扫描器可能不会直接验证该缺陷,而是根据检测到的软件 version 进行报告。
有何风险
OpenSSH 是 Linux server 上用于安全远程管理的最常用服务之一。其核心 daemon(sshd)中的漏洞会使所有远程访问和自动化系统面临风险。
受影响系统的示例显示已安装的 vulnerable package version:
[root@lshost4 ~]# rpm -qa | grep openssh-server
openssh-server-8.7p1-43.el9.alma.2.x86_64
建议操作
如果你正在运行 AlmaLinux 9、CentOS 9,或任何使用 OpenSSH version 8.7p1-43.el9 的衍生版本,应立即升级到安全 version——openssh-8.7p1-45.el9 或更新版本。
更新步骤
要检查已安装的 OpenSSH version:
rpm -qa | grep openssh-server
要应用更新:
sudo dnf update openssh
更新后,重启 SSH service:
sudo systemctl restart sshd
最后,确认新 version:
rpm -qa | grep openssh-server额外缓解建议:检查 LoginGraceTime 设置
作为补充步骤,你可以通过运行以下命令手动检查 SSH 配置:
nano /etc/ssh/sshd_config
在文件中,查找以下行:
#LoginGraceTime 0
此指令控制 SSH daemon 等待用户完成认证的时长。调整此设置有助于通过缩短未认证客户端允许的连接窗口来减少攻击面。
AvaHost 监控的 server
如果你的 server 受 AvaHost 监控,我们已经识别出受影响的系统。例如,server lshost4.alexhost.com 正在运行 vulnerable version,必须更新。
结论
此漏洞对未打补丁的系统构成真实且当前的危险。我们强烈建议所有管理员立即验证并更新其 OpenSSH 安装。远程代码执行的风险怎么强调都不为过,尤其是在可公开访问的基础设施上。
有关详细技术信息,请参阅官方 CVE 条目:
🔗 CVE-2024-6409 – NIST
🔗 Nessus Report
保持安全——确保你的系统已打补丁并受到监控。