一文读懂 DirtyPipe(CVE-2022-0847):container-escape-check 检测逻辑与逃逸利用原理

发布时间:2026/8/20 21:39:40

一文读懂 DirtyPipe(CVE-2022-0847):container-escape-check 检测逻辑与逃逸利用原理
一文读懂 DirtyPipeCVE-2022-0847container-escape-check 检测逻辑与逃逸利用原理【免费下载链接】container-escape-checkdocker container escape check || Docker 容器逃逸检测项目地址: https://gitcode.com/gh_mirrors/co/container-escape-checkDirtyPipeCVE-2022-0847曾被称为新一代 DirtyCow是一个影响 Linux 内核 5.8 及以上版本的本地提权漏洞而container-escape-check 容器逃逸检测工具从 v0.1 版本起就把它列入检测清单通过比对内核版本号快速判断容器是否存在逃逸风险。这篇文章将用通俗的语言讲清楚 DirtyPipe 的漏洞成因、逃逸利用原理以及 container-escape-check 的具体检测逻辑与它的局限性。DirtyPipeCVE-2022-0847是什么能改写只读文件的 Linux 内核漏洞DirtyPipe 由安全研究员 Max Kellermann 于 2022 年初发现并公开编号 CVE-2022-0847核心信息如下影响范围Linux 内核 5.8 及以后版本5.8 之前不受影响漏洞本质管道pipe缓冲区中的PIPE_BUF_FLAG_CAN_MERGE标志未被正确清除导致普通进程可以往只读文件的页缓存page cache中写入数据危害程度攻击者能修改/etc/passwd等只读文件、改写 setuid 程序把普通用户直接提权到 root属于典型的本地提权LPE漏洞它之所以叫 DirtyPipe是为了致敬 2016 年的脏牛漏洞DirtyCowCVE-2016-5195——两者都能改写只读文件只是 DirtyPipe 利用的是全新的内核管道机制。为什么 DirtyPipe 会成为 Docker 容器逃逸的入口很多新手会疑惑一个提权漏洞和容器逃逸有什么关系关键在于——容器与宿主机共享同一个内核。容器本身只是宿主机内核之上的隔离进程无论容器内权限多低只要内核存在漏洞攻击者就能在容器内触发漏洞、直接影响宿主机内核。DirtyPipe 正是典型的内核级漏洞攻击者在容器内获得任意代码执行权限哪怕只是低权限用户利用 DirtyPipe 改写宿主机上的关键文件如 root 密码、SSH 公钥等拿到宿主机 root 权限完成容器逃逸因此检测容器所在内核是否存在 DirtyPipe是容器安全巡检中至关重要的一环。container-escape-check 如何检测 DirtyPipecontainer-escape-check 的检测思路非常直接读取当前内核版本号再与已知的受影响版本区间做比对。整个过程分为两步。第一步解析内核版本号脚本通过uname -r拿到内核版本再拆解为主版本号、次版本号和修订号三部分见 container-escape-check.shKernelVersionuname -r | awk -F - {print $1} | awk -F . {print $1} MajorRevisionuname -r | awk -F - {print $1} | awk -F . {print $2} MinorRevisionuname -r | awk -F - {print $1} | awk -F . {print $3}第二步比对受影响版本区间CheckCVE_2022_0847函数见 container-escape-check.sh只对5.x 内核做判断核心逻辑是# 5.8 ver 5.10 if [[ $MajorRevision -ge 8 $MajorRevision -lt 10 ]];then echo [] 当前容器存在 CVE-2022-0847 DirtyPipe 漏洞 fi # 5.10.x 5.10.102 if [[ $MajorRevision -eq 10 $MinorRevision -lt 102 ]];then echo [] 当前容器存在 CVE-2022-0847 DirtyPipe 漏洞 fi # 5.10 ver 5.15 if [[ $MajorRevision -gt 10 $MajorRevision -lt 15 ]];then echo [] 当前容器存在 CVE-2022-0847 DirtyPipe 漏洞 fi只要命中任意一个区间脚本就会输出[]结果并把漏洞标记置为存在。受影响内核版本速查表内核版本是否受影响说明 5.8❌ 不受影响漏洞在 5.8 引入5.8 ~ 5.9✅ 受影响全部存在漏洞5.10.0 ~ 5.10.101✅ 受影响5.10.102 修复5.11 ~ 5.14✅ 受影响该分支未单独修复5.15.0 ~ 5.15.24✅ 受影响5.15.25 修复5.16.0 ~ 5.16.10✅ 受影响5.16.11 修复≥ 5.17❌ 不受影响新版本已修复 官方修复版本为5.16.11 / 5.15.25 / 5.10.102如果你的内核版本高于这些版本理论上已免疫。这种检测方式的优点与局限优点无需任何攻击载荷一条命令、几毫秒就能完成检测非常适合批量巡检与自动化安全扫描。局限作者在 README 中也明确提醒过基于版本号推断可能存在误报脚本采用宁滥勿缺的策略部分已修复的 5.10.x、5.15.x 版本也会被标记为存在漏洞需要人工二次确认可能存在漏报不同发行版会自行 backport 安全补丁内核版本号相同不代表修复状态相同不验证 Docker 版本作者在 README_ZH.md 中提到暂时还没有找到从容器内部获取 Docker 版本的方法因此部分与 Docker 版本相关的逃逸检测暂不支持简单来说它告诉你大概率有风险但最终结论仍需人工研判。DirtyPipe 逃逸利用原理速览为了便于理解这里用三步走概括整个利用过程省略具体攻击代码准备管道创建管道并写入 1 字节数据让管道缓冲区进入可合并状态污染标志用splice()把只读文件的 1 字节拼接进管道利用内核 bug 让该缓冲区残留CAN_MERGE标志覆写文件再向管道写入恶意数据内核会把数据直接写进文件对应的页缓存——于是只读文件被悄悄改写配合这三步攻击者就能改掉/etc/passwd或 setuid 程序在容器内直接拿下宿主机 root 权限。在容器中一键运行检测在目标 Docker 容器内执行以下命令即可完成全部检测git clone https://gitcode.com/gh_mirrors/co/container-escape-check cd container-escape-check chmod x container-escape-check.sh ./container-escape-check.sh脚本会自动检测特权模式、Docker Socket 挂载、procfs 挂载、DirtyCow、DirtyPipe 等 15 项风险并汇总输出全程无需人工干预。如何防御 DirtyPipe 容器逃逸最后给出一份可直接落地的加固清单升级内核第一时间升级到 5.16.11 / 5.15.25 / 5.10.102 及以上的修复版本并重启宿主机最小权限原则避免使用特权容器严格控制 Linux Capability 与危险目录挂载️启用安全机制配置 seccomp、AppArmor / SELinux限制容器系统调用定期巡检把 container-escape-check 集成进 CI/CD 或安全巡检流程内核升级后第一时间复查总结一下DirtyPipe 是一个影响面极广的 Linux 内核提权漏洞在容器场景下天然是逃逸的高危入口container-escape-check 用版本比对这种轻量方式把它纳入自动化检测虽然存在一定误报率但胜在快速、零依赖、适合批量巡检。看懂它的检测逻辑你就能在安全巡检时更准确地判断结果而不是被满屏的[]吓到。【免费下载链接】container-escape-checkdocker container escape check || Docker 容器逃逸检测项目地址: https://gitcode.com/gh_mirrors/co/container-escape-check创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Rabel 安全机制详解:验证码、CanCanCan 权限控制与用户封禁

Rabel 安全机制详解:验证码、CanCanCan 权限控制与用户封禁

2026/8/20 21:39:40

Rabel 安全机制详解:验证码、CanCanCan 权限控制与用户封禁 【免费下载链接】rabel An open-source web forum built on the Ruby on Rails framework. 项目地址: https://gitcode.com/gh_mirrors/ra/rabel Rabel 是一款基于 Ruby on Rails 框架构建的开源社…

Faiss RaBitQ 量化全攻略:压缩 90% 内存的随机二进制量化,从原理到上线的避坑指南

Faiss RaBitQ 量化全攻略:压缩 90% 内存的随机二进制量化,从原理到上线的避坑指南

2026/8/20 21:39:40

Faiss RaBitQ 量化全攻略:压缩 90% 内存的随机二进制量化,从原理到上线的避坑指南 【免费下载链接】faiss A library for efficient similarity search and clustering of dense vectors. 项目地址: https://gitcode.com/GitHub_Trending/fa/faiss …

为什么选择DesktopAssistant:5个理由让Python语音助手成为你的桌面效率利器

为什么选择DesktopAssistant:5个理由让Python语音助手成为你的桌面效率利器

2026/8/20 21:39:40

为什么选择DesktopAssistant:5个理由让Python语音助手成为你的桌面效率利器 【免费下载链接】DesktopAssistant A Virtual Desktop Assistant Written in Python 项目地址: https://gitcode.com/gh_mirrors/des/DesktopAssistant 还在为每天重复点击浏览器、…

芯片工厂奇遇记:ARM、ST 和 STM32 的故事

芯片工厂奇遇记:ARM、ST 和 STM32 的故事

2026/8/20 22:29:43

耕耘 :C、C、嵌入式技术领域 🔥我的个人主页 ❄️个人专栏:《C语言专栏》 《嵌入式专栏》 ✨**不要等待机会,而要创造机会!**✨ 📽博主简介: ✨✨一位热爱生活的阳光大男孩.✨✨ 前言 ARM与意法半导体(…

康明斯2017年业绩创新高:深度解析商用车市场回暖下的战略制胜逻辑

康明斯2017年业绩创新高:深度解析商用车市场回暖下的战略制胜逻辑

2026/8/20 22:29:43

1. 市场回暖下的战略复盘:康明斯2017年业绩高光背后的逻辑2017年,对于全球动力巨头康明斯而言,在中国市场交出了一份堪称里程碑式的成绩单。官方口径中的“业绩创历史新高”,这短短几个字背后,是销售额、利润、市场份额…

2018年5月皮卡销量排行:市场格局生变,乘用化与差异化成新趋势

2018年5月皮卡销量排行:市场格局生变,乘用化与差异化成新趋势

2026/8/20 22:29:43

1. 市场格局的悄然生变又到了每月盘点皮卡销量的时间。翻开2018年5月的成绩单,最直观的感受是,市场格局正在发生一些微妙而深刻的变化。过去那种由少数几款“神车”长期霸榜的局面,似乎正在被一股新生的力量所打破。这个月,我们不…

基于PN7150的NFC读写器开发全攻略:从硬件设计到NDEF应用

基于PN7150的NFC读写器开发全攻略:从硬件设计到NDEF应用

2026/8/20 22:29:43

1. 项目概述:为什么选择PN7150来打造你的NFC读写器?如果你对物联网、智能门锁或者任何需要近场通信的项目感兴趣,那么NFC(近场通信)技术绝对是一个绕不开的话题。它就在我们身边,从手机支付到门禁卡&#x…

费用管理软件怎么选?5款中小企业费用管理产品横向对比

费用管理软件怎么选?5款中小企业费用管理产品横向对比

2026/8/20 22:29:43

成都一家做食品加工的公司,年初要换费用管理软件,老板让财务负责人去调研。财务负责人打开搜索,发现每家产品的页面都写满了功能,从发票识别到智能审批,看起来都差不多。真正让她头疼的是不知道按什么标准筛&#xff1…

北汽新能源A00级市场重回第一:从价格战到价值战的体系化竞争

北汽新能源A00级市场重回第一:从价格战到价值战的体系化竞争

2026/8/20 22:19:42

1. 市场格局的微妙变化:从“价格战”到“价值战”的拐点 五月的中国新能源汽车市场,尤其是A00级(微型车)这个细分赛道,上演了一场静水深流般的格局重塑。当大家的目光还聚焦在头部品牌的价格厮杀和高端车型的技术内卷时…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/20 21:07:35

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

2026/8/20 0:08:45

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com…

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

2026/8/20 0:08:45

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 判断你是否…

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

2026/8/20 0:08:45

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 按 3MF 官方规范的字面意思,一…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…