“Dirty Pipe”的故事-Linux 内核提权漏洞 (CVE-2022-0847)

漏洞简述

3月7日,开发者 Max Kellermann 在他的博客(https://dirtypipe.cm4all.com/)中披露了一个能导致 Linux 权限提升的漏洞,编号为 CVE-2022-0847,他称之为 “The Dirty Pipe Vulnerability” (“脏管道”漏洞)。

Linux 5.10版本前的一次 commit 中,重构了匿名管道缓冲区的代码,修改了“可合并”检查的逻辑,这个修改造成了通过匿名管道覆盖任意只读文件的漏洞,攻击者可以利用该漏洞进行本地权限提升。

漏洞评级为严重,受影响 Linux Kernel 版本范围为:

  • 5.8 ~ 5.10.102
  • 5.8 ~ 5.15.25
  • 5.8 ~ 5.16.11

此漏洞很容易被利用以获得root权限,漏洞利用信息已公开,建议用户尽快升级到 5.10.102 或 5.15.25 或 5.16.11 及以上版本 Linux 内核。

漏洞时间线

  • 2021年4月29日,Linux 内核错误导致的文件损坏第一次出现
  • 2022年2月19日,Kellerman 确定文件损坏是 Linux 内核错误导致的,并证明该漏洞可利用
  • 2月20日,Kellerman 向 Linux 内核安全团队提交该漏洞
  • 2月21日,Google Pixel 6 上漏洞重现,向 Android 安全团队提交漏洞
  • 2月23日,稳定版本 (5.16.11, 5.15.25, 5.10.102) 修复了该漏洞
  • 2月24日,Android 内核修复该漏洞
  • 3月7日,公开披露

缺陷分析

Max Kellermann 在他的博客中提到 linux 的 commit f6dd975583bd(详见参考链接) 重构了匿名管道缓冲区的代码,修改了“可合并”检查的逻辑。

“Dirty Pipe”的故事-Linux 内核提权漏洞 (CVE-2022-0847)

“可合并”检查逻辑修改前,pipe_buf_can_merge方法对管道缓冲区的操作进行了判断,管道缓冲区的合并是有条件的。

“Dirty Pipe”的故事-Linux 内核提权漏洞 (CVE-2022-0847)

“可合并”检查逻辑修改后,PIPE_BUF_FLAG_CAN_MERGE 是固定值,即默认合并管道缓冲区的内容。

“Dirty Pipe”的故事-Linux 内核提权漏洞 (CVE-2022-0847)

从上述逻辑来看,这个修改就是“脏管道”漏洞的出现的原因了。

Max Kellermann 在博客中描述了自己从一次文件损坏中发现 linux 内核的漏洞的故事,随着文件损坏出现的越来越多,情绪变的更加沮丧,甚至开始怀疑鬼神。最后在排除自身问题后发现了内核错误。

以后遇到bug后多质疑,万一是软件的问题呢?

参考链接

https://dirtypipe.cm4all.com/

https://github.com/torvalds/linux/commit/f6dd975583bd8ce088400648fd9819e4691c8958

发布者:墨菲安全,转发请注明出处:https://www.murphysec.com/blog/vulnerability-analysis/4097.html

(0)
上一篇 2023年1月4日 16:12
下一篇 2023年1月4日 16:13

相关推荐

  • Apache ShardingSphere-Proxy <5.3.0 身份认证绕过(CVE-2022-45347)

    漏洞简介 2022年12月22日,Apache 官方公告发布 ShardingSphere-Proxy 5.3.0 之前版本存在身份绕过漏洞(CVE-2022-45347)。当 ShardingSphere-Proxy 使用 MySQL 作为后端数据库时,由于 ShardingSphere-Proxy 在客户端认证失败后没有完全清理数据库会话信息,攻击者可利…

    2023年1月9日
  • CVE-2022-22947 SpringCloud GateWay SPEL RCE 漏洞分析

    漏洞概要 Spring Cloud Gateway 是Spring Cloud 生态中的API网关,包含限流、过滤等API治理功能。 Spring官方在2022年3月1日发布新版本修复了Spring Cloud Gateway中的一处代码注入漏洞。当actuator端点开启或暴露时,可以通过http请求修改路由,路由中包含的恶意filter参数会经过SPEL…

    2023年2月23日
  • Gitlab OAuth注册默认口令漏洞分析(CVE-2022-1162)

    漏洞简述 3月30日,GitLab 官方修复了CE/EE版本产品中硬编码密码导致的接管用户账户的安全问题。 由于使用 OmniAuth 注册的代码逻辑中存在硬编码密码,导致账号可被攻击者直接登录。该漏洞受影响版本为 14.7.0 ~ 14.7.6,14.8.0 ~ 14.8.4,14.9.0 ~ 14.9.1,均为较高版本,且该漏洞依赖于开启 OmniAut…

    2023年1月4日
  • Spring Cloud Gateway代码注入漏洞分析(CVE-2022-22947)

    漏洞简述 3月1日,VMware发布了针对Spring Cloud Gateway的漏洞通告(https://tanzu.vmware.com/security/cve-2022-22947),当actuator端点开启并对外暴露时,攻击者可以构造恶意请求实现远程任意代码执行。 Spring Cloud Gateway是Spring Cloud 生态中的AP…

    2023年1月4日
  • Spark 存在 shell 命令注入(CNVD-C-2022-163612

    漏洞简述 3月24日,墨菲安全实验室情报预警监控发现 spark 提交修复 shell 命令注入的代码,当上传文件名可以被攻击者控制时,就可以构造恶意文件名造成远程任意命令执行。 Spark 是用于大规模数据处理的统一分析引擎。 用户上传文件后,tar 文件会被 hadoop 的 tar 命令解压,如果文件名被用户恶意构造后,就会导致 shell 命令注入。…

    2023年1月4日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-180-9568

邮件:hi@murphysec.com

工作时间:周一至周五,10:00-19:00,节假日休息

关注公众号

20230105-100741