智能摘要 AI
OpenSSH爆出远程代码执行漏洞(CVE-2024-6387),影响版本为OpenSSH < 4.4p1和8.5p1 <= OpenSSH < 9.8p1。由于CentOS 9 Stream未更新相关RPM版本,需手动编译。使用GitHub开源脚本可一键编译OpenSSH 9.8p1,支持多种发行版。构建需安装开发工具,并通过脚本下载源码、编译RPM。安装时可能需要卸载部分旧包,若安装失败可强制安装。编译后的RPM文件可供下载。
前言
在7月初OpenSSH爆出远程代码执行漏洞(CVE-2024-6387),影响版本的范围为:
OpenSSH < 4.4p1(未更新历史漏洞 CVE-2006-5051、CVE-2008-4109 的补丁)
8.5p1 <= OpenSSH < 9.8p1很不巧的是Centos 9 Steeam系统并没有将相关的rpm版本更新,没办法只有我们自己手动编译一下。
这里我们采用Github上的一个开源脚本,一键编译新版本的openssh。
为 CentOS 反向移植 OpenSSH RPM / SRPM
一个简单的脚本,用于将最新的 OpenSSH RPM 反向移植到 CentOS/RHEL(类似)发行版。
支持的(已测试)发行版
- CentOS 5/6/7/8/Stream 8/9
- 亚马逊 Linux 2023 年 1 月 2 日
- 统信操作系统服务器20
- openEuler 22.03 (LTS-SP1)
- AnolisOS 7.9/8.6
当前版本
- OpenSSH 9.8p1(参见:OpenSSH 官方)
- OpenSSL 3.0.14 / 3.0.9(已通过 FIPS 验证,请参阅:OpenSSL 官方)
构建脚本读取version.env实际的版本定义。
构建要求
yum groupinstall -y "Development Tools"
yum install -y imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel perl perl-IPC-Cmd
# For CentOS5 only:
yum install -y gcc44构建 RPM
- 安装上面列出的构建要求。
version.env如果有必要,编辑文件。- 下载源码包:
./pullsrc.sh如果出现任何错误,请手动将源文件下载到downloads目录中。 - 运行脚本来构建 RPM:
./compile.sh
或者使用以下脚本文件:
# Go go the generated RPMS directory.
cd $(./compile.sh RPMDIR)
pwd
ls
# you will find multiple RPM files in this directory.
# you may copy them to other machines, and continue following steps there.
# Backup current SSH config
[[ -f /etc/ssh/sshd_config ]] && mv /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +%Y%m%d)
# Install rpm packages. Exclude all debug packages.
find . ! -name '*debug*' -name '*.rpm' | xargs sudo yum --disablerepo=* localinstall -y --allowerasing
# in case host key files got permissions too open.
chmod -v 600 /etc/ssh/ssh_host_*_key
# For CentOS7+:
# in some cases previously installed systemd unit file is left on disk after upgrade.
# causes systemd mixing unit files and initscripts units provided by this package.
if [[ -d /run/systemd/system && -f /usr/lib/systemd/system/sshd.service ]]; then
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.$(date +%Y%m%d)
systemctl daemon-reload
fi
# Check Installed version:
ssh -V && /usr/sbin/sshd -V
# Restart service
service sshd restart相关指令:
yum erase openssh-askpass openssh-keycat openssh-cavs openssh-askpass openssh-askpass-gnome openssh-debuginfo如果无法正常安装,可以尝试强制安装:
rpm -ivh --force --nodeps --replacepkgs --replacefiles openssh-*.rpm文件下载
以下是我在Centos 9 Stream x86_64 下构建的RPM文件,有需要的可以自取:





评论 (0)