OpenSSH 远程代码执行漏洞(CVE-2024-6387)
OpenSSH 远程代码执行漏洞(CVE-2024-6387)
漏洞详情
OpenSSH 是使用 SSH 协议进行远程登录的首要连接工具。 它加密所有流量以消除窃听、连接劫持、 和其他攻击。 此外,OpenSSH 还提供了一整套安全隧道功能, 多种身份验证方法和复杂的配置选项。
据官方描述,在 OpenSSH 的服务器 (sshd) 中发现了一个信号处理程序争用条件,其中客户端不会在 LoginGraceTime 秒内进行身份验证(默认为 120 秒,在旧 OpenSSH 版本中为 600 秒),然后异步调用 sshd 的 SIGALRM 处理程序。但是,此信号处理程序调用各种非异步信号安全的函数,例如 syslog()。
风险等级
高风险
影响版本
OpenSSH < 4.4p1(未更新历史漏洞 CVE-2006-5051、CVE-2008-4109 的补丁)
8.5p1 <= OpenSSH < 9.8p1
CentOS 9(暂未发布补丁)
Ubuntu 22.04、24.04
Debian 12
修复建议
1.官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,建议升级至最新版本 9.8p1,具体修复步骤如下:
(1) 适用于 Debian(Debian、Ubuntu、Mint…)上安装 OpenSSH 9.8p1 版本:
方案1:源码修复:
1 | sudo apt-get update |
方案2:软件包修复:
1 | sudo apt-get update |
(2) 修复确认:
1 | sshd -V |
1 | pkg-query -W|grep openssh |
验证版本属于如下版本则无安全风险:
1 | Ubuntu22.04 LTS:1:8.9p1-3ubuntu0.10 |
2.缓解措施:
如果 sshd 无法更新或重新编译,可通过设置配置文件中的 LoginGraceTime 为 0 进行缓解,但是该方案会耗尽所有的 MaxStartups 连接,从而使 sshd 容易遭受拒绝服务攻击。
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 M's Blog!