漏洞介绍
该漏洞影响版本号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:
🔗 PoC:
https://github.com/7etsuo/cve-2024-6387-poc
仓库已经删除,补发附件
解决方案
目前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!
评论