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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-74939-escape-the-mac-n-cheese-box — Firefox 콘텐츠-부모 간 IPDL 권한 상승 (N-day, bug 2054416): RemoteTypeOverride가 포함된 위조된 PDocumentChannel -> 손상된 콘텐츠 프로세스의 mojo-port send-path 주입을 통한 권한 있는 about 프로세스 배치 | Kitploit
도구/GitHubGitHub/sneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationWeb Application ExploitationBinary Exploitation
GitHubsneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box

CVE-2026-74939-escape-the-mac-n-cheese-box

Firefox 콘텐츠-부모 간 IPDL 권한 상승 (N-day, bug 2054416): RemoteTypeOverride가 포함된 위조된 PDocumentChannel -> 손상된 콘텐츠 프로세스의 mojo-port send-path 주입을 통한 권한 있는 about 프로세스 배치

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
121시간 23분 전아직 검토되지 않음

CVE-2026-74939 — Firefox 콘텐츠→부모 권한 상승

Firefox 149.0a1 nightly(2fbc0748c4, 수정 전)의 샌드박스 탈출에 대한 개념 증명입니다. 손상된 콘텐츠 프로세스가 IPDL 메시지를 위조하여 부모 프로세스가 페이지를 권한 있는(privilegedabout) 프로세스로 로드하게 만듭니다.

이것은 스테이지-2 샌드박스 탈출로, 콘텐츠 프로세스 RCE(예: CVE-2026-2796) 이후에 체이닝되도록 설계되었습니다.

버그(Mozilla 버그 2054416)

부모 프로세스는 콘텐츠→부모 IPDL 메시지에서 nsDocShellLoadState를 역직렬화합니다. 취약한 빌드는 콘텐츠가 설정한 RemoteTypeOverride 필드를 거부하지 않으므로, 콘텐츠가 탐색이 어떤 프로세스 유형에 도달할지를 선택할 수 있습니다.

수정(커밋 3ec5c71b41bb, "Validate RemoteTypeOverride")은 nsDocShellLoadState 생성자가 콘텐츠가 트리거한 로드에 대한 모든 override를 거부하게 만듭니다.

override가 수용되면 — about:blank의 문서 로드, 최상위 컨텍스트 — IsolationOptionsForNavigation은 로드의 원격 유형을 override 값으로 설정하고, 페이지는 권한 있는 프로세스에 배치됩니다. 샌드박스 경계가 위반됩니다.

익스플로잇 개요

override는 PNecko::PDocumentChannel에 실려 전달됩니다. 이 메시지는 모든 콘텐츠 프로세스가 각 문서 로드에 대해 보내는 메시지입니다(DocumentChannelCreationArgs.loadState는 nsDocShellLoadState입니다).

전달 과정이 흥미로운 부분입니다. IPC 소켓에 대한 직접 쓰기는 조용히 버려집니다. IPDL 메시지는 이제 mojo 포트를 통해 전달되기 때문입니다. 대신 PoC는 네이티브 호출을 통해 JavaScript에서 실제 전송 경로를 구동합니다(CVE-2026-2796 funcref 프리미티브 사용):

  1. operator new — IPC::Message용 힙 블록 할당
  2. IPC::Message::Message(routing, type, capacity, flags) — 배치 생성자
  3. Pickle::WriteBytes — 위조된 페이로드 추가
  4. PContent 채널에서 MessageChannel::Send — mojo 프레이밍, 포트 라우팅 및 시퀀스 번호는 모두 네이티브로 처리됨

페이로드(forge.py에 의해 생성)는 RemoteTypeOverride = "privilegedabout", URI about:blank, null 주체, 런타임에 유출된 값들(BrowsingContext id, TriggeringRemoteType)을 담고 있습니다.

파일

실행

root@kitploit:~
./irun

검증

부모 측 로그(MOZ_LOG=ProcessIsolation:5,DocumentChannel:5)는 권한 있는 프로세스로의 프로세스 전환을 보여줍니다:

root@kitploit:~
V/ProcessIsolation using remote type override (privilegedabout) for load
I/ProcessIsolation Process Switch: Changing Remoteness from 'webIsolated=http://127.0.0.1' to 'privilegedabout'

참조

  • Mozilla 버그 2054416 — 수정 커밋 3ec5c71b41bb "Validate RemoteTypeOverride"
  • 스테이지-1 콘텐츠 RCE: CVE-2026-2796
도구 다운로드
파일용도
privesc.htmlPoC 페이지, 손상된 콘텐츠 프로세스 내에서 실행
forge.py / forge.json위조된 IPDL 메시지 생성(자체 검증)
wasm-bytes.js스테이지-1 프리미티브: 임의 읽기/쓰기, funcref 호출
mdrive.py / mdrive2.pyNightly를 실행하고 구동하는 마리오네트 하네스
irun계측 실행: 부모에 lldb 연결 + MOZ_LOG 증거
profile.user.jsFirefox 프로필 환경설정(fission 켜짐, 덤프 활성화)
parse_dc.py캡처된 DocumentChannel 메시지용 바이트 정밀 파서
scan_sentinels.py / extract_fields.py캡처용 필드 맵 스캐너