CVE-2024-53141:Linux 内核越界访问漏洞可致权限提升与内核沦陷

阅读量18190

发布时间 : 2025-04-18 10:02:48

x
译文声明

本文是翻译文章,文章原作者 securityonline,文章来源:securityonline

原文地址:https://securityonline.info/cve-2024-53141-linux-kernel-flaw-enables-privilege-escalation-poc-releases/

译文仅供参考,具体内容表达以及含义原文为准。

CVE-2024-53141, Linux Kernel

安全研究员公布了 Linux 内核中一个漏洞(CVE-2024-53141)的技术细节和概念验证性利用代码。该漏洞是 netfilter 子系统的 ipset 组件中一个严重的越界(OOB)访问缺陷,其通用漏洞评分系统(CVSS)评分为 7.8。追溯发现,这一漏洞源于 bitmap_ip_uadt 函数中的一个细微错误,它为威胁行为者提供了一条强大的利用链,最终可能导致权限提升、内核地址空间布局随机化(KASLR)绕过以及完全的内核级代码执行。

CVE-2024-53141 的根本原因在于 ipset 组件内的 bitmap_ip_uadt 函数。该漏洞是由于在处理 IPSET_ATTR_CIDR 参数时缺少范围检查而产生的。

在特定条件下,尤其是当 tb [IPSET_ATTR_IP_TO] 不存在但 tb [IPSET_ATTR_CIDR] 存在时,ip 和 ip_to 的值会被交换,并且对 ip 的关键范围检查会被省略。这种疏忽可能会导致内存越界访问。

越界访问漏洞可使攻击者在预期边界之外操纵内存,可能会导致各种安全后果,包括:

1.内核崩溃

2.权限提升

3.任意代码执行

该报告概述了一个多阶段的利用过程,包括:

1.通过越界写入造成堆泄漏:在注释初始化路径(ip_set_init_comment ())期间,攻击者精心构造一个恶意的 e.id,通过向相邻的堆块(如套接字缓冲区)写入数据,从而泄漏内核堆地址。

2.写入任意值的越界操作:第二个攻击原语使攻击者能够通过操纵计数器(ip_set_init_counter ()),将精心构造的值设置到有效边界之外的内存中,使攻击者能够改变堆上的控制结构。

3.通过 msg_msgseg 实现释放后重用:攻击者通过使用 msg_msgseg 巧妙地操纵内存布局,将越界条件转化为释放后重用,回收已释放的内核内存,并为劫持控制流做好准备。

这种利用并不止于内存损坏。借助堆泄漏原语,攻击者计算出内核的基地址,并覆盖诸如 pipe_buffer->ops 之类的控制结构。

最终的有效载荷使用了经典的 core_pattern 技术,覆盖了决定进程崩溃时执行内容的内核字符串。通过将 core_pattern 指向用户控制的二进制文件,攻击者实现了 root shell 执行。

此漏洞影响内核版本 v2.7 至 v6.12。目前,在 GitHub 上已经提供了有效的PoC。

为解决此漏洞,至关重要的是将 Linux 内核更新到已实施缺失范围检查的修补版本。

本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66