You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Linux安全补丁制作与应用:CentOS Stream 8内核Git补丁应用及CVE-2021-22555修复方式咨询

针对CVE-2021-22555漏洞的CentOS Stream 8内核安全问题解答

嗨,很高兴能帮你解决CentOS Stream 8媒体服务器的这个安全问题,咱们一步步拆解你的疑问:

1. 如何通过Git将相关修改应用到内核中?

这种方式更适合自定义内核场景或者测试环境,生产环境优先推荐用官方更新包。具体操作步骤如下:

  • 先装齐编译工具和Git依赖:
    sudo dnf install git gcc make ncurses-devel bison flex elfutils-libelf-devel openssl-devel
    
  • 克隆CentOS Stream 8对应的官方内核Git仓库(记得切换到c8s-stream-8分支)
  • 进入仓库后,找到对应CVE-2021-22555的修复提交,或者从上游渠道拿到适配的补丁文件
  • 把补丁放到内核源码目录下,用Git命令应用补丁:
    git am /path/to/your/cve-2021-22555.patch
    
  • 接下来编译内核:先复用当前系统的内核配置,减少自定义成本:
    cp /boot/config-$(uname -r) .config
    make olddefconfig
    make -j$(nproc)  # 用所有CPU核心加速编译
    make modules_install install
    
  • 最后重启系统,在GRUB菜单选择新编译的内核即可。

2. 此类漏洞修复是否会自动包含在系统更新中?

答案是大部分情况下会自动包含。CentOS Stream作为滚动更新发行版,Red Hat会把这类高危CVE的修复整合到官方内核更新包中,推送到Stream的软件仓库。你只需要执行常规的系统更新命令就能获取修复:

sudo dnf update kernel

如果想确认修复是否已经推送,可以用dnf info kernel查看最新内核版本的变更日志,或者参考CentOS官方发布的安全公告。

3. 若需手动补丁,具体操作流程是怎样的?

如果因为仓库还没推送更新、需要自定义修复等特殊情况要手动打补丁,流程如下:

步骤1:准备编译环境

先安装开发工具组和内核编译依赖:

sudo dnf groupinstall "Development Tools"
sudo dnf install ncurses-devel bison flex elfutils-libelf-devel openssl-devel

步骤2:获取对应版本的内核源码

通过DNF下载当前系统内核的源码包:

sudo dnf download --source kernel
rpm -ivh kernel-*.src.rpm

源码会被解压到~/rpmbuild/SOURCES/目录,对应的编译配置文件(spec)在~/rpmbuild/SPECS/

步骤3:应用CVE修复补丁

找到适配CentOS Stream 8内核版本的CVE-2021-22555补丁文件,将其放到~/rpmbuild/SOURCES/目录。然后有两种方式应用:

  • 方式一:编辑~/rpmbuild/SPECS/kernel.spec,在补丁列表中添加该补丁的条目,后续编译时会自动应用
  • 方式二:直接进入源码目录手动打补丁:
    cd ~/rpmbuild/SOURCES/kernel-$(uname -r | cut -d'-' -f1)/
    patch -p1 < ../cve-2021-22555.patch
    

步骤4:编译并安装内核

回到spec文件目录,执行编译命令生成RPM包:

cd ~/rpmbuild/SPECS/
rpmbuild -bb kernel.spec

编译完成后,内核RPM包会出现在~/rpmbuild/RPMS/下的对应架构目录(比如x86_64),用DNF安装即可:

sudo dnf install ~/rpmbuild/RPMS/x86_64/kernel-*.rpm

最后重启系统,选择新内核启动。

重要提醒

  • 手动编译内核前,一定要备份系统数据,避免编译失败导致系统无法启动
  • 自定义内核安装后,后续官方内核更新会覆盖它,需要留意更新情况

内容的提问来源于stack exchange,提问作者Codename Jinn

火山引擎 最新活动