Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-21045_and_CVE-2026-21048 — Erzeugt manipulierte TIFF/DNG-Dateien, um Out-of-Bounds-Schreibzugriffe in Samsungs libimagecodec.quram.so auszulösen, einschließlich Binäranalyse und Reproduktionsschritten. | Kitploit
Tools/GitHubGitHub/pealeap/cve-2026-21045_and_cve-2026-21048
Android-SicherheitSchwachstellenanalyseExploitationReverse EngineeringMobile SicherheitBinäranalyseLernen & BildungBinary-Exploitation

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
pealeap/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

Erzeugt manipulierte TIFF/DNG-Dateien, um Out-of-Bounds-Schreibzugriffe in Samsungs libimagecodec.quram.so auszulösen, einschließlich Binäranalyse und Reproduktionsschritten.

Repository anzeigen
266vor 2 MonatenNoch nicht geprüft

CVE-2026-21045 & CVE-2026-21048 — Samsung libimagecodec.quram.so OOB-Write-PoC

Überblick

Dieses Repository enthält konzeptionelle Proof-of-Concept-Dateien (PoC), die Out-of-Bounds-Schreibschwachstellen (OOB) in der Quramsoft-Bildcodec-Bibliothek (libimagecodec.quram.so) demonstrieren, die auf Samsung-Android-Geräten verwendet wird.

CVEFormatTypSchweregradCVSS 4.0Behoben in
CVE-2026-21045TIFFOut-of-Bounds Write (CWE-787)Kritisch8.4SMR Jul-2026 Release 1
CVE-2026-21048DNGOut-of-Bounds Write (CWE-787)Hoch—SMR Jul-2026 Release 1

Betroffene Geräte

  • Samsung-Galaxy-Geräte mit Android 14, 15, 16
  • Insbesondere: Galaxy Z Fold 7, Flip 7, S-Serie, A-Serie (z. B. A17)
  • Geräte mit Sicherheitspatch vor SMR Jul-2026 Release 1
  • Bibliothek: /system/lib64/libimagecodec.quram.so

Schwachstellenmechanismus

Grundursache

Die Schwachstelle befindet sich in der IFD-Tag-Parsing-Funktion (Image File Directory) WINKJ_ReadExifField (Offset 0x13a0a8 in der 64-Bit-Binärdatei). Diese Funktion verarbeitet einzelne TIFF/EXIF-IFD-Einträge, jeweils eine 12-Byte-Struktur:

Offset  Size  Field
------  ----  -----
0       2     Tag ID
2       2     Data Type (1=BYTE, 2=ASCII, 3=SHORT, 4=LONG, 5=RATIONAL, etc.)
4       4     Count (number of values)
8       4     Value / Offset to data

Wenn count * element_size > 4, wird das 4-Byte-Feld Value als Datei-Offset behandelt (der auf die tatsächlichen Daten zeigt). Der Code führt dann eine Grenzprüfung an der Adresse 0x13a258 durch:

add w8, w6, w7    ; w8 = value_offset + (count * element_size)  [32-bit]
cmp w8, w5        ; compare against remaining buffer size
b.ls ok           ; if w8 <= buffer_size, proceed

Integer-Überlauf-Bypass

Die Schwachstelle ist ein 32-Bit-Integer-Überlauf ohne Vorzeichen bei der Addition. Wenn ein Angreifer value_offset und count * element_size so gestaltet, dass ihre Summe auf einen kleinen Wert überläuft, besteht die Prüfung, obwohl der tatsächliche Speicherzugriff bei base + value_offset außerhalb der Grenzen liegt.

Beispiel (Typ UNDEFINED, element_size = 1):

FeldWert (hex)Dezimal
count0xFFFF00014.294.901.761
element_size11
count * element_size0xFFFF0001 ≡ -65535 (mod 2³²)4.294.901.761
value_offset0x00017FFF98.303
value_offset + count*size0x00008000 (Überlauf!)32.768
buffer_size0x0000800032.768
Prüfergebnis: 0x8000 <= 0x8000✅ BESTANDEN—
Tatsächlicher Speicherzugriff: base + 0x17FFF0x7FFF Bytes hinter dem Puffer❌ OOB

Die 32-Bit-Addition 0x17FFF + 0xFFFF0001 = 0x10008000 wird auf 0x8000 abgeschnitten, was buffer_size entspricht. Die Prüfung besteht, aber der tatsächliche Datenzeiger (base + 0x17FFF) liegt 0x7FFF Bytes hinter dem Ende des zugewiesenen Puffers.

Verwundbarer Codepfad

TIFFReadDirectory / WINKJ_ReadTiffInfo
  └─> WINKJ_ReadTiffIFDInfo   (allocates IFD buffer)
       └─> for each IFD entry:
            └─> WINKJ_ReadExifField   (parses entry, reads value data)
                 └─> Switch on Data Type (jump table at 0x13a15c)
                      ├─ Type 0 (BYTE/ASCII/UNDEFINED):  handler at 0x13a15c
                      ├─ Type 3/8 (SHORT/SSHORT):       handler at 0x13a1d0
                      ├─ Type 4/9/11 (LONG/SLONG/FLOAT): handler at 0x13a17c
                      └─ Type 5/10/12 (RATIONAL/SRATIONAL/DOUBLE): handler at 0x13a1ac
                      Each handler -> reads data at offset -> bounds check at 0x13a258

PoC-Dateien

DateiBeschreibung
cve-2026-21045_tiff_oob_poc.pyErzeugt poc_crash.tif — manipulierte TIFF-Datei, die einen OOB-Write über ein ASCII-Tag mit manipuliertem Count/Offset auslöst
cve-2026-21048_dng_oob_poc.pyErzeugt poc_crash.dng — manipulierte DNG-Datei, die einen OOB-Write über ein UNDEFINED-Tag mit manipuliertem Count/Offset auslöst

Verwendung

# Generate TIFF PoC
python3 cve-2026-21045_tiff_oob_poc.py -o payload.tif

# Generate DNG PoC
python3 cve-2026-21048_dng_oob_poc.py -o payload.dng

# Transfer to device and trigger (e.g., via Gallery/MMS)
adb push payload.tif /sdcard/Download/
adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/payload.tif -t image/tiff

Erwartetes Verhalten

Auf einem ungepatchten Gerät (Sicherheitspatch vor Juli 2026) sollte das Öffnen der manipulierten TIFF/DNG-Datei in Samsung Gallery (oder einer anderen App, die den Quram-Decoder verwendet) eine Heap-Speicherbeschädigung verursachen, die möglicherweise zu Folgendem führt:

  • Absturz der Anwendung (SIGSEGV/SIGABRT)
  • Out-of-Bounds-Heap-Schreiben
  • Bei bestimmten Heap-Layouts: potenzielle beliebige Codeausführung

Auf einem gepatchten Gerät (SMR Jul-2026+) sollte das Bild entweder als ungültig abgelehnt oder sicher verarbeitet werden. Ein Absturz auf einem vollständig gepatchten Gerät kann auf ein separates, ungepatchtes Problem hinweisen.

Details zur Binäranalyse

Bibliotheksinformationen

File:   libimagecodec.quram.so (64-bit)
SHA256: (verify against your copy)
NDK:    r23c (Android 21)
Built:  2021-12-31 (placeholder date)
Soname: libimagecodec.quram.so

Wichtige Funktionen

FunktionAdresse (64-Bit)GrößeZweck
WINKJ_ReadExifField0x13a0a8912Parst einzelnen IFD-Eintrag (verwundbar)
WINKJ_ReadTiffIFDInfo0x139d28896Liest alle IFD-Einträge
WINKJ_ReadTiffInfo0x139ad4596High-Level-TIFF-Info-Parser
WINKJ_GetTiffInfo0x1393fc1752Haupt-Einstiegspunkt für die TIFF-Analyse
decodeTIFF0x1a2adc580Dekodiert TIFF-Bild über libtiff
getTIFFImageInfo0x1a2d20508Ruft TIFF-Bildmetadaten ab
copySubImageBuffer0x0b2824324Kopiert Sub-Bild-Bereich
TIFFReadDirectory0x1aac785896libtiff 4.6.0-Verzeichnisleser
_TIFFMultiply320x1a2f1c56Sicherer 32-Bit-Multiplikationscheck
_TIFFMultiply640x1a2f5848Sicherer 64-Bit-Multiplikationscheck

Dispatch-Tabelle (Tag-Typ → Handler)

Extrahiert aus WINKJ_ReadExifField:

TypNameElementgrößeHandler-Adresse
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac

Alle Typen mit element_size = 1 (BYTE, ASCII, UNDEFINED) teilen sich denselben Handler und sind gleichermaßen anfällig für den Integer-Überlauf-Bypass.

Verwandte CVEs

CVEBeschreibungStatus
CVE-2025-58477OOB-Write in der IFD-Tag-Analyse in libimagecodec.quram.so (SMR Dez-2025)✅ Behoben
CVE-2026-20973OOB-Read in libimagecodec.quram.so (SMR Jan-2026)✅ Behoben
CVE-2026-21045OOB-Write in der TIFF-Analyse in libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Für mich ungepatcht
CVE-2026-21048OOB-Write in der DNG-Analyse in libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Für mich ungepatcht
CVE-2026-4775Vorzeichenbehafteter Integer-Überlauf in libtiff 4.6.0 putcontig8bitYCbCr44tile⚠️ Für mich ungepatcht
CVE-2024-7006NULL-Dereferenz in libtiff tif_dirinfo.c✅ Behoben in 4.6.1

Haftungsausschluss

Tool herunterladen