RedHat8.4离线升级内核(漏洞编号CVE-2024-1086)

2024-06-13 23:04

本文主要是介绍RedHat8.4离线升级内核(漏洞编号CVE-2024-1086),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

针对Linux内核提取权限漏洞 (漏洞编号CVE-2024-1086),整理离线环境的修复方案。本文以离线修复方案为主进行说明,第八章对在线修复方案进行说明。

(一) 漏洞简介

近日,绿盟科技CERT监测网上有研究员公开披露了一个Linux内核权限提升漏洞(CVE-2024-1086)的细节信息与验证工具,由于Linux内核的netfilter:nf_tables组件存在释放后重利用漏洞, nft_verdict_init() 函数允许在钩子判定中使用正值作为丢弃错误,当 NF_DROP 发出类似于 NF_ACCEPT 的丢弃错误时,nf_hook_slow() 函数会导致双重释放漏洞,本地攻击者利用此漏洞可将普通用户权限提升至 root 权限。目前已有PoC公开,请相关用户尽快采取措施进行防护。目前已有PoC公开,请相关用户尽快采取措施进行防护。

Netfilter是Linux内核提供的一个框架,它允许以自定义处理程序的形式实现各种与网络相关的操作。Netfilter为数据包过滤、网络地址转换和端口转换提供了各种功能和操作,它们提供了通过网络引导数据包和禁止数据包到达网络中的敏感位置所需的功能。

(二) 影响范围

受影响版本
3.15 <= Linux kernel < 6.1.76
6.2 <= Linux kernel < 6.6.15
6.7 <= Linux kernel < 6.7.3
Linux kernel = 6.8-rc1
不受影响版本
Linux kernel = 4.19.307
Linux kernel = 5.4.269
Linux kernel = 5.10.210
Linux kernel = 5.15.149
Linux kernel >= 6.1.76
Linux kernel >= 6.6.15
Linux kernel >= 6.7.3
Linux kernel >= 6.8-rc2

直接安装6.9.4新版本的内核如需要安装不受影响的版本请自行解决

二、检查内核版本

远程服务器,使用uname -r命令查看操作系统内核版本

三、下载新版内核

(一) 下载公钥,用于校验软件包

RPM-GPG-KEY-elrepo.org

https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

(二) 下载ELRepo源

根据操作系统下载对应版本ELRepo源

Centos 9:elrepo-release-9.el9.elrepo.noarch.rpm

https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

其他操作系统

Centos 8:

https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

Centos 7:

https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

(三) 下载新版内核

1. 方案A

找一台相同操作系统,可联网的服务器,下载内核相关安装包,默认下载最新版本

yum install --downloadonly --downloaddir=/home/kernel --enablerepo=elrepo-kernel kernel-ml
yum install --downloadonly --downloaddir=/home/kernel --enablerepo=elrepo-kernel kernel-ml-core
yum install --downloadonly --downloaddir=/home/kernel --enablerepo=elrepo-kernel kernel-ml-modules

命令说明:

yum install 安装软件包

–enablerepo=elrepo-kernel 此次安装过程中临时启用elrepo-kernel这个仓库

kernel-ml 新版内核软件包名称

注意默认源中的内核软件包名称为kernel

ml版与lt版可共存

目前CetnOS 9只有ml版本

kernel-ml: 稳定主线版,支持周期短,更新速度快,更快体验新特性。

kernel-lt: 长期维护版,支持周期长,更新速度慢,更加稳定。

2. 方案B

访问ELRepo官方网站下载对应内核版本

①打开下载页面

download [ELRepo Wiki]

②选择任意镜像网站,下载内核版本即可

Centos 9:Index of /kernel/el9/x86_64/RPMS

其他操作系统

Centos 8:Index of /kernel/el8/x86_64/RPMS

Centos 7:Index of /kernel/el7/x86_64/RPMS

③下载如下三个内核包

kernel-ml-6.9.3-1.el9.elrepo.x86_64.rpm

kernel-ml-core-6.9.3-1.el9.elrepo.x86_64.rpm

kernel-ml-modules-6.9.3-1.el9.elrepo.x86_64.rpm

离线下载地址

kernel-6.9.4官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

四、安装新版内核

将下载的安装包上传至目标服务器,使用cd命令导航至安装包所在目录

[root@localhost kernel]# uname -r
4.18.0-305.el8.x86_64
[root@localhost kernel]# grubby --default-kernel
/boot/vmlinuz-6.9.4-1.el8.elrepo.x86_64
[root@localhost kernel]# grubby --default-index
0
[root@localhost kernel]# grubby --info=ALL | egrep -i 'index|title'
index=0
title="Enterprise Linux (6.9.4-1.el8.elrepo.x86_64) 8.10"
index=1
title="Red Hat Enterprise Linux (4.18.0-305.el8.x86_64) 8.4 (Ootpa)"
index=2
title="Red Hat Enterprise Linux (0-rescue-653201c415464454946530cbf641d7e1) 8.4 (Ootpa)"
[root@localhost kernel]#  grubby --set-default /boot/vmlinuz-6.9.4-1.el8.elrepo.x86_64
The default is /boot/loader/entries/653201c415464454946530cbf641d7e1-6.9.4-1.el8.elrepo.x86_64.conf with index 0 and kernel /boot/vmlinuz-6.9.4-1.el8.elrepo.x86_64
[root@localhost kernel]# uname -r
4.18.0-305.el8.x86_64
[root@localhost kernel]# grubby --default-kernel
/boot/vmlinuz-6.9.4-1.el8.elrepo.x86_64
[root@localhost kernel]# grubby --info=ALL
index=0
kernel="/boot/vmlinuz-6.9.4-1.el8.elrepo.x86_64"
args="ro crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet $tuned_params"
root="/dev/mapper/rhel-root"
initrd="/boot/initramfs-6.9.4-1.el8.elrepo.x86_64.img $tuned_initrd"
title="Enterprise Linux (6.9.4-1.el8.elrepo.x86_64) 8.10"
id="653201c415464454946530cbf641d7e1-6.9.4-1.el8.elrepo.x86_64"
index=1
kernel="/boot/vmlinuz-4.18.0-305.el8.x86_64"
args="ro crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet $tuned_params"
root="/dev/mapper/rhel-root"
initrd="/boot/initramfs-4.18.0-305.el8.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (4.18.0-305.el8.x86_64) 8.4 (Ootpa)"
id="653201c415464454946530cbf641d7e1-4.18.0-305.el8.x86_64"
index=2
kernel="/boot/vmlinuz-0-rescue-653201c415464454946530cbf641d7e1"
args="ro crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet"
root="/dev/mapper/rhel-root"
initrd="/boot/initramfs-0-rescue-653201c415464454946530cbf641d7e1.img"
title="Red Hat Enterprise Linux (0-rescue-653201c415464454946530cbf641d7e1) 8.4 (Ootpa)"
id="653201c415464454946530cbf641d7e1-0-rescue"

五、关闭安全引导(可选特殊情况)

新版内核安装完,重启服务器,部分服务器会报错无法进入,需要联系虚拟机管理人员禁用 UEFI 安全引导

具体操作步骤如下:

①关闭虚拟机

②邮件虚拟机编辑设置

③虚拟机选项》引导选项》安全引导,去除已启用

④启动虚拟机即可正常进入服务器

VMVare有 UEFI 安全引导的说明

六、重启服务器

重启服务器使用uname -r命令,查看内核版本,已升级至最新版本

卸载不需要的内核重启

成功替换内核

这篇关于RedHat8.4离线升级内核(漏洞编号CVE-2024-1086)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058677

相关文章

Python Excel实现自动添加编号

《PythonExcel实现自动添加编号》这篇文章主要为大家详细介绍了如何使用Python在Excel中实现自动添加编号效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍简单的说,就是在Excel中有一列h=会有重复

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt