OpenSSH Server远程代码执行漏洞 (CVE-2024-6387)安全风险通告

2024-07-0210

一、漏洞概述

漏洞名称:OpenSSH Server远程代码执行漏洞

漏洞编号:CVE-2024-6387

公开时间:2024-7-1

CVSS 3.1分数:9.8

威胁类型:代码执行

漏洞等级: 暂无

技术细节状态:已公开

在野利用状态:不明确

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版本,目前该漏洞技术细节已在互联网上公开,鉴于影响范围较大,建议用户尽快做好自查及防护。


三、安全措施

目前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访问范围。


四、参考链接

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