Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2017-5123 — Linux 内核利用 | Kitploit
工具/GitHubGitHub/floatingguy/cve-2017-5123
权限提升漏洞分析漏洞利用学习与教育二进制利用
GitHubfloatingguy/cve-2017-5123

CVE-2017-5123

Linux 内核利用

查看仓库
148年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2017-5123

利用 waitid 系统调用进行 Linux 权限提升。该漏洞利用由 @XeR_0x2A 和 @chaign_c 出自 HexpressoTeam,仅供教育用途。该 bug 于 2017-05-21 引入,于 2017-10-09 修复,已知 4.14.0-rc4+ 存在漏洞。

asciicast

如果你处于初学者/中级漏洞利用编写水平,我们鼓励你在阅读我们的实现之前,自己尝试利用该漏洞。这是一个非常好的练习,具有简单的漏洞利用原语(对可写内核内存的任意写入)。我们同时向 @LiveOverflow 发起挑战,请他也来试一试。

以下是描述:

oss-security:
大家好,

Chris Salls 发现,当 Linux 内核中的 waitid() 系统调用在 v4.13 中被重构时,它意外地停止检查传入参数是否指向用户空间。这使得本地攻击者能够直接写入内核内存,从而可能导致权限提升。

由这个提交引入:
https://git.kernel.org/linus/4c48abe91be03d191d0c20cc755877da2cb35622

通过这个主分支提交修复:
https://git.kernel.org/linus/96ca579a1ecc943b75beba58bebb0356f6cc4b51

这个问题应该很快就会在 -stable 分支(未来的 v4.13.7)中修复:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.13.y

谢谢!

剧透!

waitid:
waitid -- 等待子进程改变状态。

root@kitploit:~
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);

内核不会检查 infop 是指向内核空间还是用户空间的指针,因此我们可以覆盖任何具有写权限的内核内存页。有趣的是,我们只能部分控制写入的内容。有超过一千种方式可以利用这个漏洞。我们决定将这个写入原语转化为空指针解引用。我们覆盖了内核 .BSS 段中的 have_canfork_callback 变量。将该变量设置为任何非 0(true)的值,都会导致一个未设置的回调(null)在“新任务暴露给进程之前”被调用。

感谢 Chris Salls 和 @kees_cook 分享了这个 CVE。

首个“真实世界”Linux 内核漏洞利用,出自 @XeR_0x2A 和 @chaign_c, 来自 HexpressoTeam。

[email protected]
[email protected]

2017-10-22

下载工具