
CVE-2025-2783을 위한 전체 체인 RCE 익스플로잇(Chromium Ipcz 샌드박스 이스케이프 취약점)으로, Windows 시스템에서 Chrome v134까지 스레드 하이재킹, V8 훅, 셸코드 실행을 구현합니다.
이 저장소는 CVE-2025-2783에 대한 전체 체인 익스플로잇 구현을 포함합니다. 취약점은 Chromium의 Ipcz 통신 계층에 존재하며, 공격자가 제한된 렌더러 프로세스에서 샌드박스 탈출 및 임의 코드 실행을 달성할 수 있게 합니다. 이 익스플로잇은 134.0.6998.177까지의 버전을 지원합니다.
https://github.com/user-attachments/assets/a3e2bf34-739c-4db7-9101-0f4d48987ad0
src/: 핵심 익스플로잇 구현입니다. Ipcz 하이재킹 로직, V8 후크, CVE-2025-2783에 대한 스레드 하이재킹 실행 흐름을 포함합니다.demo/: 전체 체인 데모 환경입니다. HTML 파일을 통해 V8 유형 혼란(Type Confusion) 취약점을 트리거하고 src/에서 컴파일된 바이너리 페이로드를 로드하여 렌더러 프로세스에서 셸코드 실행까지 전체 체인을 완료합니다.third_party/ipcz (Chromium의 Ipcz 전송 프로토콜 구현)RelayMessage를 처리할 때 프로세스 간 핸들에 대한 엄격한 출처 및 권한 검증이 부족합니다.V8Console::Debug를 후킹하여 demo/ 환경의 JavaScript에서 시그널을 가로채고 ArrayBuffer에서 2단계 셸코드를 안전하게 추출합니다.OnAcceptRelayedMessage를 후킹하고 위조된 중계 요청(메시지 ID: 0x69)을 구성하여 CVE-2025-2783을 통해 높은 권한의 핸들을 획득합니다.SetThreadContext를 사용하여 강제로 레지스터 상태를 수정합니다.VirtualAlloc, ReadProcessMemory, CreateThread를 순차적으로 호출하여 셸코드를 실행합니다.src/)코드가 Chromium 내부 ipcz 및 mojo 라이브러리에 깊이 의존하므로, src/ 디렉토리를 Chromium 소스 트리에 통합하고 GN 및 Ninja를 사용하여 빌드하여 모든 내부 종속성이 올바르게 연결되도록 하는 것이 좋습니다.
demo/)src/의 바이너리 아티팩트가 준비되었는지 확인합니다(사전 컴파일된 payload.bin 및 shellcode.bin은 demo/ 디렉토리에 이미 제공됨).demo/ 디렉토리에서 python -m http.server를 실행한 다음 브라우저에서 http://127.0.0.1:8000/exp.html로 이동합니다.이 저장소는 학술 및 보안 연구 목적으로만 제공됩니다. 저자는 이 코드의 사용으로 인해 발생하는 어떠한 손실이나 법적 책임도 지지 않습니다. 승인된 환경에서만 테스트를 수행하시기 바랍니다.