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-21045_and_CVE-2026-21048 — Samsung libimagecodec.quram.so OOB Write PoC | Kitploit
Tools/GitHubGitHub/filipemendonca1978/cve-2026-21045_and_cve-2026-21048
Android-SicherheitSchwachstellenanalyseExploitationReverse EngineeringFuzzingMobile SicherheitPapers & ForschungLernen & BildungBinary-Exploitation

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

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

CVE-2026-21045_and_CVE-2026-21048

Samsung libimagecodec.quram.so OOB Write PoC

Repository anzeigen
1vor 1 MonatNoch nicht geprüft

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

Übersicht

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

Schwachstellen-Mechanismus

Ursache

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, die jeweils eine 12-Byte-Struktur darstellen:

root@kitploit:~
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 ist, wird das 4-Byte-Value-Feld als Datei-Offset behandelt (der darauf verweist, wo die tatsächlichen Daten liegen). Der Code führt dann an Adresse 0x13a258 eine Grenzwertprüfung durch:

root@kitploit:~
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

Umgehung durch Integer-Überlauf

Die Schwachstelle ist ein 32-Bit-Integer-Überlauf ohne Vorzeichen in 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):

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

root@kitploit:~
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 — fehlerhafte TIFF-Datei, die über ein ASCII-Tag mit präpariertem count/Offset einen OOB-Write auslöst
cve-2026-21048_dng_oob_poc.pyErzeugt poc_crash.dng — fehlerhafte DNG-Datei, die über ein UNDEFINED-Tag mit präpariertem count/Offset einen OOB-Write auslöst

Verwendung

root@kitploit:~
# 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 < Juli 2026) sollte das Öffnen der präparierten TIFF/DNG-Datei in der Samsung Gallery (oder in einer beliebigen App, die den Quram-Decoder verwendet) eine Heap-Speicherkorruption verursachen, die möglicherweise zu Folgendem führt:

  • Absturz der Anwendung (SIGSEGV/SIGABRT)
  • Out-of-Bounds-Schreiben in den Heap
  • Bei bestimmten Heap-Layouts: potenzielle Ausführung beliebigen Codes

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

root@kitploit:~
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

Dispatch-Tabelle (Tag-Typ → Handler)

Extrahiert aus WINKJ_ReadExifField:

Alle Typen mit element_size = 1 (BYTE, ASCII, UNDEFINED) verwenden denselben Handler und sind gleichermaßen anfällig für die Umgehung per Integer-Überlauf.

Verwandte CVEs

Haftungsausschluss

Diese Proofs of Concept dienen ausschließlich Bildungs- und Sicherheitsforschungszwecken. Sie veranschaulichen den Schwachstellenmechanismus, um Benutzern und Entwicklern zu helfen, das Risiko zu verstehen. Verwenden Sie sie nicht gegen Systeme, die Ihnen nicht gehören oder für deren Test Sie keine ausdrückliche Genehmigung haben.

Referenzen

  • https://nvd.nist.gov/vuln/detail/CVE-2026-21045
  • https://nvd.nist.gov/vuln/detail/CVE-2026-21048
  • https://security.samsungmobile.com/securityUpdate.smsb
  • https://gitlab.com/libtiff/libtiff/-/releases/v4.6.0
Tool herunterladen
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 außerhalb des Puffers❌ OOB
FunktionAdresse (64-Bit)GrößeZweck
WINKJ_ReadExifField0x13a0a8912Analysiert einzelnen IFD-Eintrag (verwundbar)
WINKJ_ReadTiffIFDInfo0x139d28896Liest alle IFD-Einträge
WINKJ_ReadTiffInfo0x139ad4596High-Level-Parser für TIFF-Informationen
WINKJ_GetTiffInfo0x1393fc1752Haupt-Einstiegspunkt des TIFF-Parsings
decodeTIFF0x1a2adc580Dekodiert TIFF-Bild über libtiff
getTIFFImageInfo0x1a2d20508Ruft TIFF-Bildmetadaten ab
copySubImageBuffer0x0b2824324Kopiert Teilbildbereich
TIFFReadDirectory0x1aac785896Verzeichnisleser von libtiff 4.6.0
_TIFFMultiply320x1a2f1c56Sichere 32-Bit-Multiplikationsprüfung
_TIFFMultiply640x1a2f5848Sichere 64-Bit-Multiplikationsprüfung
TypNameElementgrößeHandler-Adresse
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVEBeschreibungStatus
CVE-2025-58477OOB-Write beim IFD-Tag-Parsing in libimagecodec.quram.so (SMR Dez-2025)✅ Behoben
CVE-2026-20973OOB-Read in libimagecodec.quram.so (SMR Jan-2026)✅ Behoben
CVE-2026-21045OOB-Write beim TIFF-Parsing in libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Bei mir ungepatcht
CVE-2026-21048OOB-Write beim DNG-Parsing in libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Bei mir ungepatcht
CVE-2026-4775Integer-Überlauf mit Vorzeichen in libtiff 4.6.0 putcontig8bitYCbCr44tile⚠️ Bei mir ungepatcht
CVE-2024-7006NULL-Dereferenzierung in libtiff tif_dirinfo.c✅ Behoben in 4.6.1