在做政府和学校单位网站时,经常需要服务器扫描检测,经常被OpenSSH Server远程代码执行漏洞(CVE-2024-6387)安全风险通告,出了报告需要升级OpenSSH。
使用yum update 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 < 4.4p1(不含已修复CVE-2006-5051和CVE-2008-4109的实例)
8.5p1 <= OpenSSH < 9.8p1
注:OpenBSD系统不受该漏洞影响。
用户可执行sshd -V确认OpenSSH版本,目前该漏洞技术细节已在互联网上公开,鉴于影响范围较大,建议用户尽快做好自查及防护。
百度很多网上的方法都手动安装编译,流程很麻烦,而且最终不行。最后找到了一个可行的,一个更新修复OpenSSH漏洞升级到openssh 9.7 RPM包包。
一键openssh 9.7 RPM更新包下载:
https://www.uihtm.com/other/19736.html
如需要升级openssh 9.8 RPM :https://blog.csdn.net/tianlu930/article/details/140175132
详情方法
1.输出当前系统SSH版本
bash
ssh -V
2.输出当前系统rpm包版本
bash
rpm -qa|grep openssh
3.上传openssh 9.7 RPM包到/usr/local/src
目录
4.解压包
bash
tar -xvzf openssh-9.7p1-1.el7.centos.x86_64-ssh-copy-id-openssl-opensource.tgz
5.升级系统openssh RPM
bash
rpm -Uvh openssh-*.rpm
6.检测版本是否升级成功
bash
rpm -qa|grep openssh
ssh -V
看到了OpenSSH_9.7p1, OpenSSL 1.1.1w 11 Sep 2023,升级成功。