低危 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 | |||||
- 攻击路径 本地
- 攻击复杂度 困难
- 权限要求 普通权限
- 影响范围 有限影响
- EXP成熟度 POC 已公开
- 补丁情况 官方补丁
- 数据保密性 无影响
- 数据完整性 无影响
- 服务器危害 无影响
- 全网数量 100
CWE-ID | 漏洞类型 |
CWE-362 | 使用共享资源的并发执行不恰当同步问题(竞争条件) |
Exp相关链接
- avd.aliyun.com
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论