突破防御:利用段错误绕过 Intel CET
摘要
该仓库提供了面向段错误编程(SFOP)的工件,这是一种利用信号处理器绕过 Intel CET 的新型利用技术。它包含针对 Nginx 和 Ladybird 的 PoC 利用和演示。
查看缓存全文
缓存时间: 2026/08/10 00:52
面向段错误的编程(SFOP)
Source: https://github.com/signal-sfop/sfop
这是 Segmentation Fault-Oriented Programming(SFOP)漏洞利用技术的工件仓库。
工件集合
我们在此简要描述本仓库中的工件。总共有八个不同的工件,包含六个 PoC 漏洞利用和两个针对真实世界程序(Nginx 和 Ladybird)的漏洞利用:
-
PoCs:
bSFOP_ek:使用链注册信号并通过 Early Kill 发起攻击的完整 bSFOP 漏洞利用。bSFOP_fixed:更易于调试的 bSFOP,手动注册信号并手动设置故障 gadget 以发起攻击。bSFOP_multistage:与 bSFOP_fixed 相同,但整个 payload 并非在开始时一次性传输,而是分多次读取。chain:使用链注册 sigaction 的独立示例。fSFOP_ek:使用链注册信号并通过 Early Kill 发起攻击的完整 fSFOP 漏洞利用。fSFOP_fixed:更易于调试的 fSFOP,手动注册信号并手动设置故障 gadget 以发起攻击。
-
vulnerable-nginx:包含 CVE-2013-2028 漏洞的 Nginx 修改版本。展示了使用自定义信号注册链并借助 Early Kill 的 fSFOP。 -
vulnerable-ladybird:包含 CVE-2021-4327 漏洞的 SerenityOS 修改版本。展示了使用自定义信号注册链并借助 Early Kill 的 fSFOP。
每个文件都附带各自的 README。
要求
每个 PoC 都已容器化。Docker 是唯一的软件要求。
运行这些 PoC 需要 启用 CET 强制执行。
为此:
- 使用裸机(bare-metal)机器,即不要使用虚拟化环境(Virtualbox、WSL…),因为 CET 在这些环境中尚未启用。
- 使用第 11 代(Tiger Lake)或更新的 Intel 处理器。AMD 处理器可能可以工作,但未经测试。
- 为安全起见,请使用 Linux 内核 6.6 或更高版本。
我们的实验已在多台机器上测试,包括:
- Ubuntu 24.04,内核 6.14,glibc 2.39,Intel i3-14100 x86_64。
相似文章
FreeBSoD:利用语言模型发现和利用内核漏洞(上)
本文介绍了 Praetorian 的研究人员如何使用 Claude Opus(通过 Claude Code)发现并利用 FreeBSD 内核中的漏洞,包括一个允许逃离 FreeBSD 监狱的栈溢出漏洞(CVE-2026-3038)。第一部分重点介绍寻找漏洞的方法。
FreeBSoD:利用语言模型发现与利用内核漏洞(下篇)
本文探讨了利用大型语言模型协助编写FreeBSD内核漏洞利用程序的方法,详细介绍了实现完全jail逃逸的两条漏洞利用链。
核心转储流行病学:修复一个18年的旧bug
OpenAI工程师详细描述了Rockset的C++数据基础设施中看似不可能的崩溃的诊断过程,揭示了一个Azure上的静默硬件损坏bug以及GNU libunwind中存在18年的竞态条件,最终通过崩溃数据的流行病学分析得以解决。
Fabricked:误配置Infinity Fabric以攻破AMD SEV-SNP
一种新型软件攻击通过误配置Infinity Fabric来破坏AMD SEV-SNP的安全保证,使恶意虚拟机监视器能够对机密虚拟机进行任意读写访问。
@jedisct1: epoll UAF
对 Linux 内核 epoll 子系统中的一个释放后使用(UAF)漏洞的详细分析,该漏洞通过切换到 RCU 修复,以及作者在现代设备上尝试利用该漏洞失败的经过。