当前位置: 首页 > news >正文

Linux CIFSwitch 内核新漏洞允许攻击者获得 root 权限

Linux内核安全圈最近被一枚名为CIFSwitch的本地权限提升漏洞搅动了神经。这个由安全研究员Asim Manizada发现并命名的缺陷,潜藏在CIFS客户端与用户态工具cifs-utils的交互缝隙中,能够让一个普通本地用户直接拿到root权限,威胁面远比想象中更广。

问题的根源可以追溯到将近二十年前。早在2007年,Linux内核引入CIFS SPNEGO密钥处理机制时,就埋下了一颗定时炸弹。CIFS作为Linux上连接Windows网络文件共享的主流协议,其内核客户端在处理Kerberos认证时需要向用户态求助。具体来说,内核会调用request_key()系统调用,请求一个类型为cifs.spnego的密钥,同时附上一段描述字符串,里面包含目标服务器地址、用户ID、凭证ID、进程ID等关键参数。随后,/sbin/request-key策略会触发以root身份运行的cifs.upcall工具来处理这个请求。

这个设计本身没有问题,但致命的是,内核从未验证过这段密钥描述是否真正来自CIFS子系统内部。换句话说,任何非特权进程都可以直接调用request_key("cifs.spnego", 伪造的描述字符串),而内核会照单全收。由于cifs.spnego的默认请求密钥规则存在,cifs.upcall依然会以root权限启动,并且全盘信任攻击者精心构造的描述内容。

攻击链的精妙之处在于对命名空间的操控。Manizada在技术分析中指出,当伪造的描述中设置upcall_target=app并提供一个恶意pid时,cifs.upcall会在执行NSS账户查找之前,先切换到攻击者控制的进程命名空间。此时,这个root权限运行的工具会在一个完全由攻击者掌控的环境中执行getpwuid()等操作。

在这个私有的挂载命名空间里,攻击者可以植入伪造的/etc/nsswitch.conf和恶意的libnss_*.so.2库文件。当cifs.upcall加载这些NSS模块时,实际上是以root身份执行了攻击者的任意代码。Manizada公开的PoC中,恶意NSS模块直接向/etc/sudoers.d写入了一条NOPASSWD配置,随后攻击者只需运行sudo即可获得不受限制的root shell。

整个利用过程不需要竞争条件,稳定性极高,属于典型的"Copy Fail"类漏洞变种。更令人担忧的是,SELinux或AppArmor这类Linux安全模块在默认策略下并不能完全阻断这条攻击路径。测试表明,Linux Mint Cinnamon、CentOS Stream 9、Rocky Linux 9 Workstation、Kali Linux等多个发行版在默认安装状态下即可被直接利用。Ubuntu、Debian等发行版虽然默认不预装cifs-utils,但一旦用户手动安装该工具包,系统立刻暴露在风险之下。

这个漏洞的影响跨度极其惊人。从2007年引入相关代码算起,几乎每一代Linux内核都携带了这段有缺陷的逻辑。虽然漏洞利用需要同时满足三个条件:存在缺陷的内核、兼容的cifs-utils版本(尤其是6.14及以上版本,或带有向后移植补丁的旧版本)、以及允许非特权用户创建命名空间,但在现代Linux发行版中,后两项往往是默认开启的。

好消息是修复来得相当及时。上游内核维护者在接到报告后迅速提交了补丁,commit号为3da1fdf4efbc,标题很直白:"smb: client: reject userspace cifs.spnego descriptions"。修复的核心思路是为cifs_spnego_key_type添加vet_description钩子,确保只有来自CIFS客户端内部spnego_cred上下文发出的请求才会被接受,从根本上杜绝了用户态伪装内核请求的可能性。

对于暂时无法重启打补丁的系统管理员,业界也提供了几条可行的临时缓解路径。如果服务器并不使用CIFS挂载,最直接的办法是卸载cifs-utils包,或者通过modprobe配置阻止CIFS内核模块加载。另一种思路是重写/etc/request-key.d/cifs.spnego.conf,将默认的cifs.upcall调用指向/bin/false,直接切断攻击链路。当然,这些手段都会破坏正常的CIFS Kerberos认证功能,只适用于不依赖SMB共享的场景。

Manizada已经将完整的技术文档和可复现的PoC代码托管在GitHub上,目的是帮助防御者、发行版维护者和应急响应团队快速验证自己的系统是否受影响,以及测试补丁是否真正生效。考虑到利用代码已完全公开,且攻击门槛低、成功率高,建议Linux管理员尽快评估自身环境,优先在 multi-tenant 主机、CI/CD 构建节点、容器农场等存在本地用户交互的场景下部署修复。

这场风波再次提醒我们,内核与用户态工具之间的信任边界必须经得起推敲。一个看似简单的描述字符串验证缺失,经过巧妙的逻辑串联,最终演变成影响近二十年内核版本的高危提权漏洞。在AI辅助漏洞挖掘技术日益成熟的今天,这类深埋已久的逻辑缺陷正被更快地发掘出来,防御侧的反应速度也需要与之匹配。

http://www.rkmt.cn/news/1442894.html

相关文章:

  • 当AI开始驱动工作:从落地到实践的完整思考
  • 上海小程序开发服务商综合能力排行:帮你找到对的外包技术团队 - 新闻快传
  • 2026年GEO监测工具怎么选?一张表看清5大主流产品
  • 1M上下文 vs RAG:理性分析为什么Agent时代两者必须共存
  • Sora 2文件体积失控真相(2024最新v2.1.3内核解析):帧率/分辨率/比特率三维协同压缩法
  • 厦门钻戒闲置焕新,收的顶钻石回收小众彩钻也能高价变现 - 奢侈品回收测评
  • 2026烟台漏水检测靠谱公司选哪家-鑫辉漏水检测-全城上门检测服务 - 速递信息
  • 工业现场实录:CX5130+松下伺服调试,那些手册上没写的实用技巧
  • AI正“卷“疯了!不会用AI的人,正在被淘汰?高手都懂的4个提效秘诀,让你弯道超车!
  • Visual C++运行库:彻底解决Windows应用程序兼容性问题的完整指南
  • 中山B2B工厂的获客焦虑:当采购商开始用抖音找供应商 - 速递信息
  • Sora 2录制失败率骤降87%的秘密:基于217场真实虚拟发布会复盘的4类隐性崩溃场景及热修复补丁包
  • SDD(Spec-Driven Development)规范驱动开发规范
  • 2026年国内主流304不锈钢丝绳厂家实力排行盘点 - 奔跑123
  • 【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (5)--- 异步处理
  • 【Sora 2交互设计终极指南】:20年UX专家亲测的5大颠覆性交互范式与落地避坑清单
  • Hermes Agent 实战全解析:从安装避坑到成本控制,附 AI Skills 零代码落地方案
  • 2026 本地企业 AI 搜索优化排行榜:从城市词到推荐答案的增长路径 - 企业服务研究所
  • MAA明日方舟自动化助手:5个步骤实现游戏效率革命
  • 终极指南:3个秘诀让你成为虚幻引擎游戏修改大师
  • 别再瞎试了!用Quartus Prime的Design Space Explorer II,5分钟搞定FPGA时序优化种子筛选
  • WebRTC回声消除定位方法
  • Atcoder Beginner Contest 488
  • 植物大战僵尸玩家必看:PVZ Toolkit如何让你轻松掌控游戏全局
  • 2026北京配眼镜推荐,有人花冤枉钱有人花得值,核心差在哪 - 配眼镜新资讯
  • Obsidian研究模板:5分钟打造你的个人科研知识库
  • Sora 2材质生成革命性突破:5步实现从文本描述到UV映射自动对齐,实测兼容Substance Painter 2024.3+
  • ADS里直接跑MATLAB脚本的工具包,带5个实操例子和一步到位配置指南
  • 3个技巧优化你的Minecraft体验:PCL2启动器内存管理深度解析
  • 【题单】wmr