【漏洞告警】(CVE-2024-6387)OpenSSH 远程代码执行漏洞

【漏洞告警】(CVE-2024-6387)OpenSSH 远程代码执行漏洞

YGnight night安全 2024-07-01 23:05

公众号新规
只对常读

星标的公众号才能展示大图推送,
建议大家把公众号“
n
i
g
h
t

全”设为

标,









免责声明

night安全致力于分享技术学习和工具掌握。然而请注意不得将此用于任何未经授权的非法行为,请您严格遵守国家信息安全法律法规。任何违反法律、法规的行为,均与本人无关。如有侵权烦请告知,我们会立即删除并致歉。谢谢!

漏洞描述

在OpenSSH的服务器(sshd)中发现了一个信号处理程序竞争条件,其中客户端没有在LoginGraceTime秒(默认为120秒,旧版OpenSSH为600秒)内进行身份验证,然后sshd的SIGALRM处理程序被异步调用。但是,这个信号处理程序调用了各种不安全的函数,例如syslog()。

未经身份验证的攻击者可以利用此漏洞在Linux系统上以root身份执行任意代码。

该漏洞的根源在于OpenSSH服务器的SIGALRM信号处理程序中的异步信号不安全函数调用。攻击者通过精确的时间控制和多次尝试,触发了竞态条件,从而在系统中执行了恶意代码。

在某些特定版本的 32 位操作系统上,攻击者最短需 6-8 小时即可获得最高权限的 root shell。而在 64 位机器上,目前没有在可接受时间内的利用方案。

网传POC已公开(安全性未查证)

影响版本

8.5p1 <= OpenSSH < 9.8p1

修复建议

官方已推送更新版本,受影响用户可以升级至最新版本:

OpenSSH > 9.8p1

官方补丁下载地址:

https://www.openssh.com/releasenotes.html

临时修复方案:

  1. 可以在配置文件中将 LoginGraceTime 设置为 0(永不超时)。这样虽然会使 sshd 暴露于拒绝服务攻击(占满所有 Startups 连接),但可以避免远程代码执行风险。

  2. 启用 fail2ban 等防护机制,封禁发生过多次失败登录 ssh 尝试的来源 IP。

参考资料:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-6387https://mp.weixin.qq.com/s/OckdXKdvRxBNhXC3Y1ZH_w