因为生产环境主机一直被通报存在openssh漏洞,报告显示小于某个版本存在很多的漏洞,没办法只能更新对应的版本,记录一下升级过程和一些坑点。已知的任何文档都有不可能完全解决我们即将面对的未知问题,所以建议多动手多分析。建议在生产服务器操作时先使用同版本的系统到虚拟机上测试。整个过程会升级openssl和openssh,如果有人看到这篇文章并根据指导升级过程中出现问题,建议分开搜索相关升级流程。

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

8.5p1

注:OpenBSD系统不受该漏洞影响。

用户可执行sshd -V确认OpenSSH版本,目前该漏洞技术细节已在互联网上公开,鉴于影响范围较大,建议用户尽快做好自查及防护。

 

 

 

详情方法

1.输出当前系统SSH版本

ssh -V

CentOS7/8修复OpenSSH漏洞升级到OpenSSH 9.8 RPM一键更新包

2.输出当前系统rpm包版本

rpm -qa|grep openssh

CentOS7/8修复OpenSSH漏洞升级到OpenSSH 9.8 RPM一键更新包

3.上传openssh 9.8 RPM包到/usr/local/src目录

4.解压包

tar -xvzf openssh-9.8p1.tar.gz

CentOS7/8修复OpenSSH漏洞升级到OpenSSH 9.8 RPM一键更新包

5.升级系统openssh RPM

rpm -Uvh openssh-*.rpm

CentOS7/8修复OpenSSH漏洞升级到OpenSSH 9.8 RPM一键更新包

6.检测版本是否升级成功

rpm -qa|grep openssh
ssh -V

CentOS7/8修复OpenSSH漏洞升级到OpenSSH 9.8 RPM一键更新包

看到了OpenSSH_9.8p1, OpenSSL 3.0.14  11 Sep 2023,升级成功。