一、漏洞概述
漏洞名称 | OpenSSH Server远程代码执行漏洞 | ||
漏洞编号 | CVE-2024-6387 | ||
公开时间 | 2024-7-1 | CVSS 3.1分数 | 8.1 |
威胁类型 | 代码执行 | 漏洞等级 | 暂无 |
技术细节状态 | 已公开 | 在野利用状态 | 不明确 |
PoC状态 | x86已公开 | EXP状态 | 未公开 |
OpenSSH是SSH(Secure Shell)协议的开源实现,它支持在两个主机之间提供安全的加密通信,广泛用于Linux等系统,通常用于安全远程登录、远程文件传输和其它网络服务。
2024年7月1日,OpenSSH Server中存在的一个远程代码执行漏洞(CVE-2024-6387,又被称为regreSSHion)细节被公开,该漏洞影响基于glibc的Linux系统上的OpenSSH Server (sshd)。
默认配置下的OpenSSH Server (sshd)中存在信号处理程序竞争条件漏洞,如果客户端未在LoginGraceTime内(默认情况下为120秒,旧版OpenSSH中为600秒)进行身份验证,则sshd的SIGALRM处理程序将被异步调用,但该信号处理程序会调用非异步信号安全的函数,最终造成Double-Free内存管理问题。威胁者可利用该漏洞在基于glibc的Linux系统上以root身份实现未经身份验证的远程代码执行。根据已公开技术细节中的描述,在开启ASLR的i386设备上,利用该漏洞大约需要6-8小时获取rootshell,在开启ASLR的amd64设备上则可能需要约一周左右。
二、影响范围
OpenSSH < 4.4p1(不含已修复CVE-2006-5051和CVE-2008-4109的实例)
8.5p1 <= OpenSSH < 9.8p1
注:OpenBSD系统不受该漏洞影响。
用户可执行sshd -V确认OpenSSH版本,目前该漏洞技术细节已在互联网上公开,鉴于影响范围较大,建议用户尽快做好自查及防护。
三、安全措施
目前OpenSSH上游已发布版本更新,受影响用户可通过软件源升级到最新版本(OpenSSH 9.8p1)或编译安装最新版本。
通过软件源更新方法:
Debian/Ubuntu等:apt update && apt install openssh-server
RHEL/CentOS等:yum updateopenssh
更新后请使用systemctl restart sshd等命令重启sshd服务。
不同Linux发行版可能会自行维护OpenSSH安全补丁,请前往发行版的openssh-server软件包信息页面,确认漏洞修复情况。例如在Ubuntu 22.04 LTS中,已发布openssh1:8.9p1-3ubuntu0.10版本完成对本漏洞的修复。
如确有困难无法升级版本的,可采用缓解措施。在sshd配置文件(如/etc/ssh/sshd_config)中将LoginGraceTime设置为0,并重启sshd服务。请注意,使用该配置会导致MaxStartups连接耗尽,从而使sshd易受拒绝服务攻击,但可以缓解本漏洞的风险。也可使用iptables等防火墙最小化控制SSH访问范围。
四、参考链接
https://www.qualys.com/regresshion-cve-2024-6387/
https://github.com/7etsuo/cve-2024-6387-poc
https://mp.weixin.qq.com/s/tTOkSN-RHl4UGp38iDWSKw
https://mp.weixin.qq.com/s/N0ku0c1PaGYuGQQAR2950g
https://access.redhat.com/security/cve/CVE-2024-6387
https://ubuntu.com/security/notices/USN-6859-1
https://security-tracker.debian.org/tracker/CVE-2024-6387