CVE-2024-8381
SpiderMonkey 인터프리터 타입 혼동 버그입니다.
이 저장소는 근본 원인, PoC, 익스플로잇을 포함한 마크다운 및 슬라이드 형식의 분석을 제공합니다.
안타깝게도 이 버그의 특성상 익스플로잇은 ASLR이 비활성화된 경우에만 적용 가능합니다.
슬라이드: Slides.pdf
분석: Analysis.md
데모

재현 정보
- OS: 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
면책 조항
이 저장소는 오직 교육 목적으로만 제공되며, 어떠한 악의적인 활동에도 사용되어서는 안 됩니다.