漏 洞 概 述
漏洞名称 |
OpenSSH Server远程代码执行漏洞 |
漏洞编号 |
CVE-2024-6387 |
公开时间 |
2024-07-01 |
威胁类型 |
代码执行 |
技术细节状态 |
已公开 |
在野利用状态 |
不明确 |
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小时获取root shell,在开启ASLR的amd64设备上则可能需要约一周左右。
影 响 范 围
OpenSSH < 4.4p1(不含已修复CVE-2006-5051和CVE-2008-4109的实例)
8.5p1 <= OpenSSH < 9.8p1
注:OpenBSD系统不受该漏洞影响。
用户可执行sshd -V确认OpenSSH版本,目前该漏洞技术细节已在互联网上公开,鉴于影响范围较大,建议用户尽快做好自查及防护。RHEL/CentOS 9 受此漏洞影响,RHEL/CentOS 6、7、8 均不受该漏洞影响。
安 全 措 施
目前OpenSSH上游已发布版本更新,受影响用户可通过软件源升级到最新版本(OpenSSH 9.8p1)或编译安装最新版本。
通过软件源更新方法:
Debian/Ubuntu等:
apt update && apt install openssh-server
RHEL/CentOS等:
yum update openssh
更新后请使用systemctl restart sshd 等命令重启sshd服务。
不同Linux发行版可能会自行维护OpenSSH安全补丁,请前往发行版的openssh-server软件包信息页面,确认漏洞修复情况。例如在Ubuntu 22.04 LTS中,已发布openssh 1:8.9p1-3ubuntu0.10版本完成对本漏洞的修复。
如确有困难无法升级版本的,可采用缓解措施。在sshd配置文件(如/etc/ssh/sshd_config)中将LoginGraceTime设置为0,并重启sshd服务。请注意,使用该配置会导致MaxStartups连接耗尽,从而使sshd易受拒绝服务攻击,但可以缓解本漏洞的风险。也可使用iptables等防火墙最小化控制SSH访问范围。