CVE-2024-8381
一个 SpiderMonkey 解释器类型混淆漏洞。
本仓库包含 Markdown 和幻灯片形式的分析,包括根本原因、PoC(概念验证)和漏洞利用。
遗憾的是,由于该漏洞的性质,漏洞利用仅在禁用 ASLR 时适用。
幻灯片:Slides.pdf
分析文档:Analysis.md
演示

复现信息
- 操作系统:Ubuntu 24.04
- GLIBC:Ubuntu GLIBC 2.39-0ubuntu8.3
- Clang:
version 18.1.7 (taskcluster-EnF59hKVRyOsVdbwyVaiug),通过 ./mach bootstrap 安装
- Git 提交: 198d5fc1bebaaf114197a529ebdd4b9601045719
- PoC 执行命令:
obj-debug-x86_64-pc-linux-gnu/dist/bin/js PoC.js
- 漏洞利用执行命令:
setarch x86_64 -R obj-opt-x86_64-pc-linux-gnu/dist/bin/js Exp.js
- MOZConfig:查看
mozconfigs/
致谢
参考资料
- https://www.cve.org/CVERecord?id=CVE-2024-8381
- https://github.com/mozilla/gecko-dev/commit/fab7e5c28e628ddc2b873a723838562c9b41205e
- https://github.com/mozilla/gecko-dev/commit/0ca509a3a7fbf4ff5d34cf25083a4427f3205549
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/unscopables
免责声明
本仓库仅供教育目的使用,不得用于任何恶意活动。