漏洞介绍

该漏洞影响版本号8.5p1 <= OpenSSH < 9.8p1。debian11默认apt源中版本不受影响,debian12默认apt源中版本在影响范围内,请各位注意服务器安全。当前apt源暂未更新修复版本,各位可以通过iptables或者ufw限制ssh来源地址,或者通过类似fail2ban防止入侵者利用这次漏洞进行强制爆破式攻击。

这是一个此前被修复的 OpenSSH 远程代码执行漏洞,由于开发人员意外删除了功能中的关键组件,使该漏洞在 8.5p1 至 9.8p1(不含)版本中再次出现。此漏洞的编号为 CVE-2024-6387 (https://www.cve.org/CVERecord?id=CVE-2024-6387) ,评分 8.1,严重性为高。未经身份验证的攻击者可以利用此漏洞在 Linux 系统上以 root 身份执行任意代码。超过 1400 万个可能存在漏洞的 OpenSSH 服务器实例暴露在互联网上。

该漏洞是 Qualys (https://blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server) 的威胁研究部门在基于 glibc 的 Linux 系统中发现的,许多流行的 Linux 发行版都使用 glibc 作为其默认 C 库,包括CentOS、Ubuntu、Debian、Fedora等。OpenBSD系统不受影响,因为它们包含阻止该漏洞的安全机制。

不过,实施该攻击需要长时间的连接和发送高频率请求,因此实际要攻击成功并不轻松。但为安全计还是应当尽早升级并且限制SSH端口的连接IP。

OpenSSH Server远程代码执行漏洞 POC

Openssh Server中8.5p1和9.7p1之间的版本中存在一处条件竞争漏洞,如果客户端在120秒内没有进行身份验证(由LoginGraceTime定义的设置),则sshd的 SIGALRM 处理程序会以一种非异步信号安全的方式异步调用,成功的利用此漏洞可以导致远程攻击者以root的权限执行远程代码

🔗 Research:

https://blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server

🔗 PoC:

https://github.com/7etsuo/cve-2024-6387-poc

仓库已经删除,补发附件

cve-2024-6387-poc.zip

解决方案

目前openssh官方已提供补丁下载:

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

Debian & Ubuntu 发行版安全更新跟踪与公告:

Debian:

https://security-tracker.debian.org/tracker/DSA-5724-1

Ubuntu:

https://ubuntu.com/security/notices/USN-6859-1

省流版

Debian/Ubuntu系统使用

apt update && apt upgrade

更新系统,更新完成后输入:

ssh -V

如果显示是 OpenSSH_9.2p1 Debian-2+deb12u3就说明更新完成

如果是Rocky Linux 9等还没收到系统更新的操作系统,可以使用:

  echo 'LoginGraceTime 0' >> /etc/ssh/sshd_config
  systemctl restart sshd 

暂时缓解该漏洞对您的影响

手动升级OpenSSH

系统:Debian/Ubuntu

1.安装依赖项

apt update
apt install make libz-dev gcc git autoconf libssl-dev -y

2.从官方 GitHub 拉取代码

git clone https://github.com/openssh/openssh-portable

3.编译

cd openssh-portable
autoreconf
./configure
make

4.安装

make install

5.更新环境变量

source /etc/profile

6.查看版本并验证

ssh -V

Done!