OpenEuler 22.03 LTS SP3 CVE-2024-6387 OpenSSH 漏洞修复指南
本文最后更新于 2024-07-05,文章内容可能已经过时。
OpenEuler 22.03 LTS SP3 CVE-2024-6387 OpenSSH 漏洞修复指南
一、漏洞概括
漏洞名称 | 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小时获取root shell,在开启ASLR的amd64设备上则可能需要约一周左右。
二、影响范围
受影响版本8.5p1 <= OpenSSH < 9.8p1
注:OpenBSD系统不受该漏洞影响。
用户可执行sshd -V确认OpenSSH版本,目前该漏洞技术细节已在互联网上公开,鉴于影响范围较大,建议用户尽快做好自查及防护
三、安全措施
-
自行升级 :目前OpenSSH上游已发布版本更新,受影响用户可通过软件源升级到最新版本(OpenSSH 9.8p1)或编译安装最新版本。
-
通过软件源更新方法:
- Debian/Ubuntu等:apt update && apt install openssh-server
- OpenEuler/CentOS等:yum update openssh
更新后请使用 systemctl restart sshd
等命令重启sshd服务
不同Linux发行版可能会自行维护OpenSSH安全补丁,请前往发行版的openssh-server软件包信息页面,确认漏洞修复情况。例如在openeuler22.03 LTSSP3 中,已发布openssh-8.8p1-31版本完成对本漏洞的修复。
如确有困难无法升级版本的,可采用缓解措施。在sshd配置文件(如/etc/ssh/sshd_config)中将LoginGraceTime设置为0,并重启sshd服务。请注意,使用该配置会导致MaxStartups连接耗尽,从而使sshd易受拒绝服务攻击,但可以缓解本漏洞的风险。也可使用iptables 等防火墙最小化控制SSH访问范围。
四、OpenEuler 22.03 LTS SP3 修复CVE-2024-6387
- 官方安全公告: https://www.openeuler.org/zh/security/cve/detail/?cveId=CVE-2024-6387&packageName=openssh
- 修复方式,通过软件源更新
前置条件,准备官方update源
这里我注释了metalink,因为有些镜像仓库还没去同步openeuler最新的update软件包,直接使用openeuler官方的源
[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP3/update/$basearch/
#metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=$basearch
metadata_expire=1h
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler
[update-source]
name=update-source
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS-SP3/update/source/
#metalink=https://mirrors.openeuler.org/metalink?repo=$releasever/update&arch=source
metadata_expire=1h
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS-SP3/source/RPM-GPG-KEY-openEuler
yum update 更新
查看当前OpenSSH版本
[root@localhost yum.repos.d]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1wa 16 Nov 2023
#查看当前版本
[root@localhost yum.repos.d]# rpm -qa openssh
openssh-8.8p1-26.oe2203sp3.x86_64
使用yum update 更新OpenSSH软件包
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum update openssh*
升级后重启sshd服务
[root@localhost ~]# systemctl restart sshd
#查看升级后的版本
[root@localhost ~]# rpm -qa openssh
openssh-8.8p1-31.oe2203sp3.x86_64
五、参考
- https://inc.xmu.edu.cn/info/1031/6641.htm
- https://www.openeuler.org/zh/security/cve/detail/?cveId=CVE-2024-6387&packageName=openssh
- 感谢你赐予我前进的力量