找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1757

积分

0

好友

263

主题
发表于 3 天前 | 查看: 9| 回复: 0

近日,Linux内核修复了一个编号为CVE-2025-68260的漏洞,这也是主线内核中首个被正式分配给用Rust语言编写代码的CVE。该问题由Greg Kroah-Hartman报告,主要影响以Rust重写的Android Binder驱动,在最坏情况下可导致系统崩溃。

漏洞根源分析

该漏洞的核心在于Rust版Binder驱动实现中的一项不安全操作。当特定元素从链表中被移除时,另一个线程可能会并发地操作相同的prev/next指针。代码在设计时假设NodeDeath对象永远不会出现在“外部”链表中,但实际的运行环境表明,同一元素存在被多个上下文同时处理的可能性,这一假设在复杂的并发场景下并不成立。

竞态条件导致内存损坏

问题具体出在Node::release方法的逻辑上:该方法首先获取锁,将所有元素移动到一个基于栈的临时链表中,随后释放锁,再遍历这个本地链表进行处理。如果在此期间,另一个线程对原始链表执行了不安全的移除操作,就会产生竞态条件,从而破坏prev/next指针的完整性。这最终将导致内存损坏,引发内核崩溃。一个典型的故障现象是 rust_binder 模块出现“无法处理内核分页请求”的错误。

修复方案与影响范围

修复方案直接重构了Node::release方法的实现,改为从原始链表中直接提取元素,彻底消除了基于栈的中间链表,从而根除了竞态条件产生的可能。根据Linux内核CVE团队披露的信息,此漏洞最早在Linux 6.18版本中引入(对应提交eafedbc7c050c44744fbdf80bdf3315e860b7513),并已在6.18.1(提交3428831264096d32f830a7fcfc7885dd263e511a)和6.19-rc1(提交3e0ae02ba831da2b707905f4e602e43f8507b8cc)版本中得到修复。受影响的源代码文件为 drivers/android/binder/node.rs

升级建议

作为首要的缓解措施,Linux内核CVE团队强烈建议用户升级至最新的稳定内核版本。需要注意的是,单个安全补丁通常不会进行独立的集成测试,官方也不支持选择性应用补丁。如果因故无法立即进行完整的版本升级,可以参考稳定分支仓库中相关的提交记录来获取必要的修复代码。




上一篇:网络安全警报:攻击者滥用PuTTY客户端实现Windows环境横向移动与数据窃取
下一篇:强网杯2025 PolyEncryption逆向:多层语言加密算法Python还原实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 19:21 , Processed in 0.247263 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表