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-21045_and_CVE-2026-21048 — PoC di scrittura OOB in libimagecodec.quram.so di Samsung | Kitploit
Strumenti/GitHubGitHub/filipemendonca1978/cve-2026-21045_and_cve-2026-21048
Sicurezza AndroidAnalisi delle VulnerabilitàExploitReverse EngineeringFuzzingSicurezza MobilePaper e RicercaApprendimento e FormazioneBinary Exploitation

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
GitHubfilipemendonca1978/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

PoC di scrittura OOB in libimagecodec.quram.so di Samsung

Vedi Repository
11 mese faNon ancora revisionato

CVE-2026-21045 & CVE-2026-21048 — PoC di scrittura OOB in libimagecodec.quram.so di Samsung

Panoramica

Questo repository contiene file Proof-of-Concept (PoC) concettuali che dimostrano vulnerabilità di scrittura fuori dai limiti (OOB) nella libreria codec immagini Quramsoft (libimagecodec.quram.so) utilizzata sui dispositivi Android Samsung.

CVEFormatoTipoGravitàCVSS 4.0Corretta in
CVE-2026-21045TIFFScrittura fuori dai limiti (CWE-787)Critica8.4SMR Jul-2026 Release 1
CVE-2026-21048DNGScrittura fuori dai limiti (CWE-787)Alta—SMR Jul-2026 Release 1

Dispositivi interessati

  • Dispositivi Samsung Galaxy con Android 14, 15, 16
  • In particolare: Galaxy Z Fold 7, Flip 7, serie S, serie A (es. A17)
  • Dispositivi con patch di sicurezza precedente a SMR Jul-2026 Release 1
  • Libreria: /system/lib64/libimagecodec.quram.so

Meccanismo della vulnerabilità

Causa principale

La vulnerabilità risiede nella funzione di parsing dei tag IFD (Image File Directory) WINKJ_ReadExifField (offset 0x13a0a8 nel binario a 64 bit). Questa funzione elabora singole voci IFD TIFF/EXIF, ciascuna delle quali è una struttura di 12 byte:

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

Quando count * element_size > 4, il campo Value a 4 byte viene trattato come un offset di file (che punta a dove risiedono i dati effettivi). Il codice esegue quindi un controllo dei limiti all'indirizzo 0x13a258:

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

Bypass tramite integer overflow

La vulnerabilità è un overflow di intero senza segno a 32 bit nell'addizione. Se un attaccante costruisce value_offset e count * element_size in modo che la loro somma subisca un wrap-around verso un valore piccolo, il controllo viene superato anche se l'accesso effettivo alla memoria all'indirizzo base + value_offset avviene fuori dai limiti.

Esempio (tipo UNDEFINED, element_size = 1):

L'addizione a 32 bit 0x17FFF + 0xFFFF0001 = 0x10008000 viene troncata a 0x8000, che equivale a buffer_size. Il controllo viene superato, ma il puntatore dati effettivo (base + 0x17FFF) si trova 0x7FFF byte oltre la fine del buffer allocato.

Percorso del codice vulnerabile

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

File PoC

FileDescrizione
cve-2026-21045_tiff_oob_poc.pyGenera poc_crash.tif — TIFF malformato che attiva la scrittura OOB tramite tag ASCII con count/offset costruiti ad hoc
cve-2026-21048_dng_oob_poc.pyGenera poc_crash.dng — DNG malformato che attiva la scrittura OOB tramite tag UNDEFINED con count/offset costruiti ad hoc

Utilizzo

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

Comportamento atteso

Su un dispositivo non patchato (patch di sicurezza precedente a luglio 2026), l'apertura del file TIFF/DNG appositamente costruito in Samsung Gallery (o in qualsiasi app che usa il decoder Quram) dovrebbe causare una corruzione della memoria heap che potrebbe portare a:

  • Crash dell'applicazione (SIGSEGV/SIGABRT)
  • Scrittura heap fuori dai limiti
  • Con specifici layout di heap: potenziale esecuzione arbitraria di codice

Su un dispositivo patchato (SMR Jul-2026+), l'immagine dovrebbe essere rifiutata come non valida oppure elaborata in modo sicuro. Un crash su un dispositivo completamente patchato può indicare un problema separato non ancora corretto.

Dettagli sull'analisi binaria

Informazioni sulla libreria

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

Funzioni principali

Tabella di dispatch (tipo di tag → handler)

Estratta da WINKJ_ReadExifField:

Tutti i tipi con element_size = 1 (BYTE, ASCII, UNDEFINED) condividono lo stesso handler e sono ugualmente vulnerabili al bypass tramite integer overflow.

CVE correlati

Disclaimer

Questi proof of concept sono forniti solo a scopo educativo e di ricerca sulla sicurezza. Dimostrano il meccanismo della vulnerabilità per aiutare utenti e sviluppatori a comprenderne il rischio. Non utilizzarli contro sistemi di cui non sei proprietario o per i quali non hai un'autorizzazione esplicita al test.

Riferimenti

  • 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
Scarica lo strumento
CampoValore (hex)Decimale
count0xFFFF00014.294.901.761
element_size11
count * element_size0xFFFF0001 ≡ -65535 (mod 2³²)4.294.901.761
value_offset0x00017FFF98.303
value_offset + count*size0x00008000 (overflow!)32.768
buffer_size0x0000800032.768
Risultato del controllo: 0x8000 <= 0x8000✅ SUPERATO—
Accesso memoria effettivo: base + 0x17FFF0x7FFF byte oltre il buffer❌ OOB
FunzioneIndirizzo (64-bit)DimensioneScopo
WINKJ_ReadExifField0x13a0a8912Analizza la singola voce IFD (vulnerabile)
WINKJ_ReadTiffIFDInfo0x139d28896Legge tutte le voci IFD
WINKJ_ReadTiffInfo0x139ad4596Parser TIFF info di alto livello
WINKJ_GetTiffInfo0x1393fc1752Punto di ingresso principale del parsing TIFF
decodeTIFF0x1a2adc580Decodifica l'immagine TIFF tramite libtiff
getTIFFImageInfo0x1a2d20508Ottiene i metadati dell'immagine TIFF
copySubImageBuffer0x0b2824324Copia la regione della sotto-immagine
TIFFReadDirectory0x1aac785896Lettore di directory libtiff 4.6.0
_TIFFMultiply320x1a2f1c56Controllo sicuro di moltiplicazione a 32 bit
_TIFFMultiply640x1a2f5848Controllo sicuro di moltiplicazione a 64 bit
TipoNomeDimensione elementoIndirizzo handler
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVEDescrizioneStato
CVE-2025-58477Scrittura OOB nel parsing dei tag IFD in libimagecodec.quram.so (SMR Dec-2025)✅ Corretta
CVE-2026-20973Lettura OOB in libimagecodec.quram.so (SMR Jan-2026)✅ Corretta
CVE-2026-21045Scrittura OOB nel parsing TIFF in libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Non corretta per me
CVE-2026-21048Scrittura OOB nel parsing DNG in libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Non corretta per me
CVE-2026-4775Integer overflow con segno in libtiff 4.6.0 putcontig8bitYCbCr44tile⚠️ Non corretta per me
CVE-2024-7006NULL dereference in libtiff tif_dirinfo.c✅ Corretta in 4.6.1