OpenSSH 远程代码执行漏洞(CVE-2024-6387)安全风险
该漏洞是由于OpenSSH服务 (sshd) 中的信号处理程序竞争问题,未经身份验证的攻击者可以利用此漏洞在Linux系统上以root身份执行任意代码。目前该漏洞技术细节已在互联网上公开,该漏洞影响范围较大,建议尽快做好自查及防护。
影响版本: 8.5p1 - 9.7p1
大白话:处于8.5p1 - 9.7p1这个版本的SSH,外部攻击者可以随便草你的主机
查看最新版本文件
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
查看版本
[ol]ssh -V[/ol]复制代码
更新安装必须的包
[ol]sudo apt-get -y update
sudo apt-get install build-essential zlib1g-dev libssl-dev[/ol]复制代码
下载最新的包:
[ol]wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz[/ol]复制代码
解压:
[ol]tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1[/ol]复制代码
编译:
[ol]./configure
make[/ol]复制代码
安装:
[ol]sudo make install[/ol]复制代码
重启服务:
[ol]sudo systemctl restart ssh[/ol]复制代码
查看版本
[ol]ssh -V[/ol]复制代码
如果版本没显示openssh-9.8p1,就是需要添加环境变量:
[ol]echo 'export PATH=/usr/local/bin:/usr/local/sbin:$PATH' >> ~/.bashrc[/ol]复制代码
验证生效
[ol]source ~/.bashrc[/ol]复制代码
查看版本(出现openssh-9.8p1就OK)
[ol]ssh -V[/ol]复制代码
最后重启
以下是附加的检查(可以忽略)
[ol]which ssh[/ol]复制代码
如果输出 /usr/bin/ssh 或 /usr/sbin/ssh,表示当前系统使用的是旧版本的路径。
[ol]ls -l /usr/bin/ssh /usr/local/bin/ssh /usr/sbin/sshd /usr/local/sbin/sshd[/ol]复制代码
这会显示多个可能的安装路径,如果 /usr/local/bin/ssh 和 /usr/local/sbin/sshd 文件存在,表示新版本的 OpenSSH 已安装在这些目录下。