低危 pmd可以在不经过COW循环的情况下变脏

CVE编号

CVE-2017-1000405

利用情况

POC 已公开

补丁情况

官方补丁

披露时间

2017-12-01
漏洞描述
Linux内核版本2.6.38到4.14在THP实现中的touch_pmd()函数中使用了pmd_mkdirty()。 get_user_pages()可以访问touch_pmd()。在这种情况下,pmd将变脏。这种情况打破了新的can_follow_write_pmd()的逻辑 - pmd可能会变脏而不经过COW循环。此错误没有原始“Dirty cow”那么严重,因为无法使用THP映射ext4文件(或任何其他常规文件)。然而,它确实允许我们覆盖只读的大页面。例如,可以覆盖零大页面和密封的shmem文件(因为它们的映射可以使用THP填充)。请注意,在第一次写入页面错误到零页面之后,它将被替换为新的(并且为零)thp。

解决建议
目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a8f97366452ed491d13cf1e44241bc0b5740b1f0
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
系统 linux linux_kernel * From
(including)
2.6.38
Up to
(including)
4.14
运行在以下环境
系统 redhat_7 kernel * Up to
(excluding)
0:4.11.0-44.4.1.el7a
运行在以下环境
系统 suse_12 kernel-default * Up to
(excluding)
4.4.90-92.50
运行在以下环境
系统 ubuntu_14.04.6_lts linux * Up to
(excluding)
3.13.0-137.186
运行在以下环境
系统 ubuntu_16.04.7_lts linux * Up to
(excluding)
4.4.0-103.126
阿里云评分
2.3
  • 攻击路径
    本地
  • 攻击复杂度
    困难
  • 权限要求
    普通权限
  • 影响范围
    有限影响
  • EXP成熟度
    POC 已公开
  • 补丁情况
    官方补丁
  • 数据保密性
    无影响
  • 数据完整性
    无影响
  • 服务器危害
    无影响
  • 全网数量
    100
CWE-ID 漏洞类型
CWE-362 使用共享资源的并发执行不恰当同步问题(竞争条件)
阿里云安全产品覆盖情况