CVE-2017-1000405
Linux 内核 2.6.38 至 4.14 版本在 THP 实现中的 touch_pmd() 函数里使用 pmd_mkdirty() 存在一个有问题的用法。touch_pmd() 可以由 get_user_pages() 触发。在这种情况下,pmd 将变为 dirty。此场景破坏了新的...
- 已发布
- 2017年11月30日
- 已更新
- 2024年8月5日
- 分配 CNA
- mitre
- 观察到的证据
- 2017年11月30日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 86.0%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Linux 内核 2.6.38 至 4.14 版本在 THP 实现中的 touch_pmd() 函数里使用 pmd_mkdirty() 存在一个有问题的用法。touch_pmd() 可以由 get_user_pages() 触发。在这种情况下,pmd 将变为 dirty。此场景破坏了新的 can_follow_write_pmd() 的逻辑——pmd 可以在不经过 COW 周期的情况下变为 dirty。这个 bug 没有原始的“Dirty cow”那么严重,因为 ext4 文件(或任何其他常规文件)不能通过 THP 映射。尽管如此,它确实允许我们覆盖只读的巨大页。例如,zero huge page 和密封的 shmem 文件可以被覆盖(因为它们的映射可以使用 THP 填充)。注意,在对 zero page 进行第一次写缺页后,它将被一个新的(且已清零的)thp 替换。
来源
3Huge Dirty Cow 漏洞 (CVE-2017-1000405) 的一个 POC
Bindecy · linux · 2017年11月30日
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。