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

news2025/1/12 18:15:10

一、背景

针对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命令,查看内核版本,已升级至最新版本

卸载不需要的内核重启

成功替换内核

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1819944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决electron设置透明背景后,引入element-plus样式问题

首先给当前窗口设置自定义窗口以及背景色。 const mainWindow new BrowserWindow({width: 900,height: 670,show: false,autoHideMenuBar: true,...(process.platform linux ? { icon } : {}),webPreferences: {preload: join(__dirname, ../preload/index.js),sandbox: fal…

问题:棕色试剂瓶用于盛装见光易分解的试剂或溶剂。 #其他#学习方法#微信

问题&#xff1a;棕色试剂瓶用于盛装见光易分解的试剂或溶剂。 A、正确 B、错误 参考答案如图所示

高创新 | CEEMDAN-VMD-BiLSTM-Attention双重分解+双向长短期记忆神经网络+注意力机制多元时间序列预测

目录 效果一览基本介绍模型设计程序设计参考资料 效果一览 基本介绍 高创新 | CEEMDAN-VMD-BiLSTM-Attention双重分解双向长短期记忆神经网络注意力机制多元时间序列预测 本文提出一种基于CEEMDAN 的二次分解方法&#xff0c;通过样本熵重构CEEMDAN 分解后的序列&#xff0c;复…

【iOS】KVC相关总结

目录 1. 什么是KVC&#xff1f;2. 访问对象属性常用方法声明基础使用KeyPath路径多值操作 3. 访问集合属性4. 集合运算符自定义集合运算符 5. 非对象值处理访问基本数据类型访问结构体 6. 属性验证7. 设值和取值原理基本的Getter搜索模式基本的Setter搜索模式NSMutableArray搜索…

webpack代码分割

webpack代码分割方式 entry配置&#xff1a;通过多个 entry 文件来实现动态加载(按需加载)&#xff1a;通过主动使用import来动态加载抽取公共代码&#xff1a;使用splitChunks配置来抽取公共代码 基础概念 概念含义Entry入口&#xff0c;Webpack 执行构建的第一步将从 Entr…

vue 中多个表单元素控一个校验规则

1. 场景一 <el-form-itemlabel"确认时长方式"prop"preSubResourceDurationDay" ><div class"confirmDurationDay">最晚使用日期前<el-input-numberv-model"form.preSubResourceDurationDay":precision"0"cla…

vue.js有哪几种甘特图库?Vue.js的5大甘特图库分享!

vue.js有哪几种甘特图库?Vue.js的5大甘特图库分享&#xff01; 如今&#xff0c;软件市场为任何复杂程度的项目提供了各种现成的计划和调度工具&#xff0c;但这些解决方案可能包含过多的功能或缺乏一些必要的功能。这就是为什么许多公司更愿意投资开发基于网络的定制解决方案…

嵌入式实训day3

1、 planet_list["水星","金星","火星","木星"] print(planet_list)planet_list.insert(2,"地球") print(planet_list)planet_list.append("土星") planet_list.append("天王星") planet_list.append(&…

web刷题记录(6)

题 [GXYCTF 2019]BabyUpload 文件上传&#xff0c;先传个普通的一句话木马试试 &#xff0c;发现提示被限制了&#xff0c;文件后缀不可以有ph&#xff0c;那么php3,php5,phtml等后缀自然无法使用了 那这里的思路我觉得应该是&#xff0c;先判断到底是文件内容被黑名单了&…

6.13--CSS

行内样式 <!DOCTYPE html> <html lang"en"> <head> <title>This is title</title> </head> <body> <p style"font-size: 16px; color: red;">大家好</p> </body> </html> 内部样式表…

讯飞有一个可以根据描述文本自动生成PPT的AI接口,有趣

文档&#xff1a;https://www.xfyun.cn/doc/spark/PPTGeneration.html 价格方面提供了免费1000点的额度&#xff0c;生成一次是10点&#xff0c;正好100次&#xff0c;如果要购买的话最低要购买1344元的&#xff0c;没有按量付费的模式&#xff0c;个人小开发者可买不起。 让我…

【灵动之链】打造高效处理架构的双轨组合模式实战

文章目录 打造高效处理架构的双轨组合模式实战目标概述场景一&#xff1a; 注解驱动的Chain设计说明 场景二&#xff1a;工作流调度 - List与Set注入的Chain设计说明 总结 打造高效处理架构的双轨组合模式实战 目标概述 本教程旨在阐述两种不同的组合模式实现方式&#xff0c;…

【计算机毕业设计】258基于微信小程序的课堂点名系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

MathWorks的介绍,以及Simscape 的主要特点

MathWorks 是一家美国的软件公司&#xff0c;以其科学计算软件为广泛知名&#xff0c;特别是 MATLAB 和 Simulink。这两款产品广泛用于工程、科学研究、学术界和工业应用中&#xff0c;帮助用户进行数学计算、算法开发、数据可视化、数据分析&#xff0c;以及仿真和模型构建。 …

前缀和(一维前缀和+二维前缀和)

前缀和 定义&#xff1a; 前缀和是指某序列的前n项和&#xff0c;可以把它理解为数学上的数列的前n项和&#xff0c;而差分可以看成前缀和的逆运算。合理的使用前缀和与差分&#xff0c;可以将某些复杂的问题简单化。 用途&#xff1a; 前缀和一般用于统计一个区间的和&…

GoldWave 6.80最新版软件安装包下载+详细安装步骤

​GoldWave是一款易上手的专业级数字音频编辑软件&#xff0c;从最简单的录制和编辑到最复杂的音频处理&#xff0c;恢复&#xff0c;增强和转换&#xff0c;它可以完成所有工作&#xff0c;包括WAV、OGG、VOC、 IFF、AIFF、 AIFC、AU、SND、MP3、 MAT、 DWD、 SMP、 VOX、SDS、…

【Intel CVPR 2024】通过图像扩散模型生成高质量360度场景,只需要一个语言模型

在当前人工智能取得突破性进展的时代&#xff0c;从单一输入图像生成全景场景仍是一项关键挑战。大多数现有方法都使用基于扩散的迭代或同步多视角内绘。然而&#xff0c;由于缺乏全局场景布局先验&#xff0c;导致输出结果存在重复对象&#xff08;如卧室中的多张床&#xff0…

【Go】用 Go 原生以及 Gorm 读取 SQLCipher 加密数据库

本文档主要描述通过 https://github.com/mutecomm/go-sqlcipher 生成和读取 SQLCipher 加密数据库以及其中踩的一些坑 用 go 去生成读取 SQLCipher 数据库用 gorm 去读取 SQLCipher 数据库在生成后分别用 DBeaver、db browser 和 sqlcipher 读取 SQLCipher 数据库&#xff0c;…

GIS开发到底能应用在哪些行业 ?

GIS应用的领域到底有多广&#xff1f;恐怕很多GIS从业者都想不到。 尤其是近些年&#xff0c;互联网GIS的普及与发展&#xff0c;GIS技术的应用领域越来越多&#xff0c;涉及的范围也越来越广。很多我们以为跟GIS不相关的行业&#xff0c;都在悄悄用GIS技术。 从大类上分析&a…

EFuse概念解析

EFuse概念解析 EFUSE Key Parameter iNOM 代表的是&#xff0c;Efuse运行时候的电流 tNOM 代表的是&#xff0c;Efuse电流与时间的曲线 INOM通过VOC_Thrs设置 VOC_THRS VOC_THRS/Rsense Vsense采样小于VOC_THRS时候不动作 Vsense采样大于VOC_THRS时候根据Efuse_I2T曲线来…