
CVE-2025-2783(Ipcz 샌드박스 탈출 및 RCE)에 대한 풀체인 익스플로잇.
이 저장소는 CVE-2025-2783에 대한 전체 체인 익스플로잇 구현을 포함합니다. 해당 취약점은 Chromium의 Ipcz 통신 계층에 존재하며, 공격자가 제한된 렌더러 프로세스에서 샌드박스 탈출 및 임의 코드 실행을 달성할 수 있게 합니다. 이 익스플로잇은 134.0.6998.177까지의 버전을 지원합니다.
https://github.com/user-attachments/assets/a3e2bf34-739c-4db7-9101-0f4d48987ad0
src/: 핵심 익스플로잇 구현부. CVE-2025-2783을 위한 Ipcz 하이재킹 로직, V8 훅, 스레드 하이재킹 실행 흐름을 포함합니다.demo/: 전체 체인 데모 환경. HTML 파일을 통해 V8 Type Confusion 취약점을 트리거하고 src/에서 컴파일된 바이너리 페이로드를 로드하여 렌더러 프로세스부터 Shellcode 실행까지 전체 체인을 완성합니다.third_party/ipcz (Chromium의 Ipcz 전송 프로토콜 구현)RelayMessage를 처리할 때 프로세스 간 핸들에 대한 엄격한 출처 및 권한 검증이 부족합니다.demo/ 환경에서 JavaScript의 신호를 가로채기 위해 V8Console::Debug를 훅하여 ArrayBuffer에서 2단계 Shellcode를 안전하게 추출합니다.OnAcceptRelayedMessage를 훅하고 위조된 릴레이 요청(메시지 ID: 0x69)을 구성하여 CVE-2025-2783을 통해 높은 권한의 핸들을 획득합니다.SetThreadContext를 사용하여 레지스터 상태를 강제로 수정합니다.VirtualAlloc, ReadProcessMemory, CreateThread를 순차적으로 호출하여 Shellcode를 실행합니다.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로 이동합니다.이 저장소는 학술 및 보안 연구 목적으로만 제공됩니다. 작성자는 이 코드 사용으로 인해 발생하는 손실이나 법적 책임에 대해 책임을 지지 않습니다. 승인된 환경에서만 테스트를 수행하시기 바랍니다.