
CVE-2026-0006 APV 디코더 힙 오버플로를 통해 Android media.swcodec에서 누출 지원 ROP 체인을 시연하는 연구 패키지로, 페이로드 생성기와 tombstone 증거를 포함합니다.
CVE-2026-0006(APV 디코더 힙 오버플로)에 대한 작고 자체 완결적인 연구 패키지입니다.
이는 media.swcodec에서 제어된 네이티브 호출을 시연하며, 최종적으로
__android_log_assert(NULL, NULL, "RCE-7F3A92C1")를 호출하고 실제
tombstone(Abort message: 'RCE-7F3A92C1')에서 nonce가 확인됩니다.
요구 사항: Pixel 9 루팅됨(/debug_ramdisk/su), adb, NumPy가 포함된 Python 3.12.
기기는 순정 libobs.so를 사용해야 합니다(계측 오버레이 없음).
scripts/build_device.sh # installs thumb3.dex and apvscan
scripts/run.sh 12 # up to 12 fresh attempts
성공하면 RCE PROVATA가 출력되고 out/APVRCE_success.txt가 작성됩니다.
artifacts/tombstone_rce.txt는 참조 실행에서 캡처한 성공 결과입니다.
media.swcodec가 CLEAN_MSG.mp4를 디코딩합니다(nonce를 담은 메타데이터).apvscan)이 라이브 값을 도출합니다:
release@448 - 0x29044 → 코덱 베이스;GOT[malloc] @ codec+0x2d448 → malloc@libc+0x596f0 → libc 베이스.gen/gen_forge.py가 APV comb 페이로드를 빌드합니다:
release@448 = libc + 0xede9c (__libunwind_Registers_arm64_jumpto);PC = liblog + 0xc250 (__android_log_assert);x0=x1=0, x2 = RCE-7F3A92C1`을 담은 메타데이터의 주소;SP는 유효한 plane을 가리킵니다.JT_LOG.mp4를 디코딩합니다. 위조된 release가 jumpto에 도달하고,
이는 레지스터를 복원하여 제어된 log/assert 호출을 수행합니다.이는 대상 프로세스 내에서의 종단 간 ROP 시연이며, PC/SP만의 증거가 아닙니다.
release와 두 GOT 읽기에 대해 읽기 전용 누출 오라클로 apvscan을 사용합니다.
hdr10-plus-info 출력 누출은 연구 노트에서 별도로 검증되었으며,
러너는 파일 단독으로 해당 값들을 원격 당사자에게 유출한다고 주장하지 않습니다.media.swcodec에서의 네이티브 코드 실행이며, 샌드박스 탈출이나 커널 LPE가 아닙니다.artifacts/JT_LOG.mp4는 포인터/레이아웃에 특화된 증거입니다. 실행마다 재생성하십시오;
이것이 보편적일 것이라고 기대하지 마십시오.scripts/pipeline_logprint.py — 누출/오라클, 생성, 공격 및 증거 캡처.scripts/build_device.sh — 기기에 런타임 파일을 설치합니다.scripts/run.sh — 전체 체인을 시작합니다.gen/ — 페이로드 생성기 및 Thumb3 소스/dex.scanner/ — apvscan 소스 및 사전 빌드된 arm64 바이너리.artifacts/ — 참조 MP4 및 성공한 tombstone.docs/ — 영어 및 이탈리아어 블로그 초안과 빌드별 오프셋.이 패키지는 PC/SP 제어뿐만 아니라 media.swcodec에서의 제어된 네이티브 호출을 입증합니다. 경로는 다음과 같습니다: 신규 디코더 → 주소 도출 → jumpto → tombstone에 nonce RCE-7F3A92C1이 포함된 __android_log_assert. 이는 제로클릭 시연도, 샌드박스 탈출도 아닙니다. 위에서 설명한 한계와 위협 모델을 지닌 코덱 프로세스 내 ROP 증명입니다.