返回列表 发新帖
查看: 845|回复: 0

Discuz!X 3.4 Linux Kernel 条件竞争导致本地提权漏洞(DirtyC0W)

[复制链接]

1万

热度

1万

元宝

1万

贡献

金牌草根

发表于 2017-9-7 21:27:47 | 显示全部楼层 |阅读模式
标题: Linux Kernel 条件竞争导致本地提权漏洞(DirtyC0W)
CVSS分值: 7.2
CVSS: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
披露时间: 2016-11-27 00:00:00
利用难度: LOW
POC公开时间: 2017-05-30 00:35:15
CVEID: CVE-2016-5195
简介:
这是一个通杀的Linux Kernel提权漏洞,又称DirtyCOW漏洞。漏洞触发在Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争,攻击者可在获得一个较低权限的情况下通过破坏私有只读内存映射触发漏洞获取其他只读内存映射的写权限,导致本地权限提升。
详情:
当调用write系统调用向/proc/self/mem文件写入数据时,进入内核态后内核会调用get_user_pages函数获取要写入内存的地址。get_user_pages函数会调用follow_page_mask来获取这块内存的页表项,并同时要求页表项所指向的内存映射具有可写的权限。
第一次获取内存的页表项会因为缺页而失败。如果需要获取的页表项指向的是一个只读的映射,那第二次获取也会失败。这时候get_user_pages函数会第三次调用follow_page_mask来获取该内存的页表项,这时是可以成功获取的,获取成功后内核会对这个只读的内存进行强制的写入操作。
在上述流程中,缺页处理完成后后第四次调用follow_page_mask获取这块内存的页表项之后强制写入的内容也会同步到映射的只读文件中。从而导致了只读文件的越权写。

修复命令:
yum update kernel
yum update kernel-devel
yum update kernel-headers
yum update kernel-tools
yum update kernel-tools-libs
yum update python-perf
本文来源于网友学习研究交流 www.caogen8.co,请以学习研究交流为主。
如果您没有贡献积分,可以直接免费领取,免费领取
如果你需要加入本学习研究交流,请以学习研究交流为目的,免责声明
如果找不到您要的资源,请搜索一下,点击搜索
返回列表 发新帖
 懒得打字嘛,点击右侧快捷回复【最新发布】   【赞助草根吧享更多权益】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏帖子 返回列表 搜索

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

小黑屋|手机版|草根吧