Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-2764-but-with-wasm — Firefox JIT CVE-2026-2764에 대한 개념 증명(PoC) 익스플로잇 체인으로, JIT 오컴파일과 use-after-free를 연결하여 임의 읽기/쓰기 및 WASM 셸코드 실행을 달성합니다. | Kitploit
도구/GitHubGitHub/sneakynachos/cve-2026-2764-but-with-wasm
Vulnerability AnalysisExploitationShellcodeWeb SecurityPayload DevelopmentBinary Exploitation
GitHubsneakynachos/cve-2026-2764-but-with-wasm

CVE-2026-2764-but-with-wasm

Firefox JIT CVE-2026-2764에 대한 개념 증명(PoC) 익스플로잇 체인으로, JIT 오컴파일과 use-after-free를 연결하여 임의 읽기/쓰기 및 WASM 셸코드 실행을 달성합니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
19일 전아직 검토되지 않음

CVE-2026-2764, 하지만 wasm 사용

상태: 분석 + 검증된 PoC. 프리미티브 무기화 진행 중.

이번에는 2026년 버그를 기반으로 한 WasmBlazeFox 스타일 체인: CVE-2026-2764, JavaScript Engine: JIT 구성 요소의 IonMonkey/baseline "JIT 오류 컴파일 + use-after-free", Firefox 148에서 수정됨(MFSA 2026-13, CVSS 미정). CVE-2024-29943-but-with-wasm과 동일한 종착점: 프리미티브를 셸코드 상수로 가득 찬 WASM JIT 페이지에 공급.

근본 원인 (공개 패치 기록 기반)

Bugzilla 버그 2012608은 제한되어 있지만, 수정 사항은 공개 저장소에 반영됨:

  • hg 1b58f51668d3 — "Bug 2012608: Call CreateThis directly from PBL": PortableBaselineInterpret.cpp가 스크립트 생성자(constructor)의 this 생성 경로를 CreateThisFromIC(IC 상태를 다시 읽음)를 경유하지 않고, 올바르게 루팅된 값을 사용해 js::CreateThis를 직접 호출하도록 변경.
  • hg 3adad00d0042 — BaselineCacheIRCompiler.cpp의 createThis 계약에 대한 형식/문서 수정(argc에 spread 인자가 포함되어야 함).
  • hg 57885d520e85 — 회귀 테스트(우리의 PoC).

실패 모드: newTarget으로 Proxy를 사용하는 new Ctor(...arr) / Reflect.construct에서, 엔진이 인자를 스프레드하고 this를 생성하는 사이에 proxy의 get 트랩이 실행됨. 이 콜백은 엔진이 스프레드 중인 배열 자체를 변경하거나 해제할 수 있으며, 엔진은 오래된(stale) 가정을 유지한 채 계속 실행됨:

  • 타입 혼동: 스프레드 스냅샷 이후 arr[0]이 int에서 object로 교체됨 (poc-typeconfusion.js)
  • use-after-free: arr.length = 0; gc()가 스프레드 중간에 elements 저장소를 해제함 (poc-uaf.js)

검증됨

수정 전 x86_64 Docker 컨테이너에서 2026-02-09 mozilla-central 야간 jsshell (JavaScript-C149.0a1, linux x86-64) 기준:

root@kitploit:~
./js poc-typeconfusion.js   -> Error: Assertion failed: got "oops", expected 1
./js poc-uaf.js             -> Segmentation fault

두 PoC 모두 Mozilla 자체 회귀 테스트를 그대로 사용한 것입니다.

스플라이스 계획

root@kitploit:~
poc-typeconfusion.js  (제어 가능한 인자 값 혼동, 크래시 없음)
  -> 스프레드 인자에 대해 고정된 타입 가정을 만드는 생성자를 Ion 최적화;
     int32가 증명된 자리에 객체를 교체
       -> addrof / fakeobj
         -> TypedArray 길이를 손상시켜 임의 R/W 확보
           -> WASM JIT 셸코드 스테이지 (CVE-2024-29943-but-with-wasm과 동일:
              f64.const 즉시값, FuncExport 엔트리 오프셋 덮어쓰기)

WASM 스테이지와 오프셋 탐색 코드는 오프셋만 FF149 시대 빌드에 맞게 다시 도출하면 그대로 이식됩니다(방법은 CVE-2024-29943-but-with-wasm/test.gdb 참조).

참고 자료

  • 권고: MFSA 2026-13 (Firefox 148)
  • 버그: https://bugzilla.mozilla.org/show_bug.cgi?id=2012608 (제한됨)
  • 수정 커밋: hg 1b58f51668d3, 3adad00d0042, 테스트 57885d520e85
  • 상위 프로젝트: https://github.com/SneakyNachos/WasmBlazeFox
  • 이전 체인: https://github.com/SneakyNachos/CVE-2024-29943-but-with-wasm
도구 다운로드