Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/pealeap/cve-2026-21045_and_cve-2026-21048
Sécurité AndroidAnalyse des VulnérabilitésExploitationRétro-ingénierieSécurité MobileAnalyse de BinairesApprentissage et ÉducationExploitation de Binaires

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHub
pealeap/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

Génère des fichiers TIFF/DNG spécialement conçus pour déclencher des écritures hors limites dans libimagecodec.quram.so de Samsung, y compris l'analyse binaire et les étapes de reproduction.

Voir le dépôt
1il y a 1 moisPas encore vérifié

CVE-2026-21045 & CVE-2026-21048 — PoC d'écriture hors limites (OOB) de Samsung libimagecodec.quram.so

Aperçu

Ce dépôt contient des fichiers de preuve de concept (PoC) conceptuels qui démontrent des vulnérabilités d'écriture hors limites (OOB) dans la bibliothèque de codec d'image Quramsoft (libimagecodec.quram.so) utilisée sur les appareils Android Samsung.

CVEFormatTypeSévéritéCVSS 4.0Corrigé dans
CVE-2026-21045TIFFÉcriture hors limites (CWE-787)Critique8.4SMR Jul-2026 Release 1
CVE-2026-21048DNGÉcriture hors limites (CWE-787)Élevée—SMR Jul-2026 Release 1

Appareils concernés

  • Appareils Samsung Galaxy fonctionnant sous Android 14, 15, 16
  • Plus précisément : Galaxy Z Fold 7, Flip 7, séries S, séries A (par ex., A17)
  • Appareils avec correctif de sécurité antérieur à SMR Jul-2026 Release 1
  • Bibliothèque : /system/lib64/libimagecodec.quram.so

Mécanisme de la vulnérabilité

Cause racine

La vulnérabilité réside dans la fonction d'analyse des balises IFD (Image File Directory) WINKJ_ReadExifField (décalage 0x13a0a8 dans le binaire 64 bits). Cette fonction traite les entrées IFD TIFF/EXIF individuelles, chacune étant une structure de 12 octets :

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

Lorsque count * element_size > 4, le champ Valeur de 4 octets est traité comme un décalage de fichier (pointant vers l'emplacement où se trouvent les données réelles). Le code effectue ensuite une vérification des limites à l'adresse 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

Contournement par dépassement d'entier

La vulnérabilité est un dépassement d'entier non signé 32 bits dans l'addition. Si un attaquant conçoit value_offset et count * element_size de sorte que leur somme fasse un repliement vers une petite valeur, la vérification réussit alors même que l'accès mémoire réel à base + value_offset sort des limites.

Exemple (type UNDEFINED, element_size = 1) :

L'addition 32 bits 0x17FFF + 0xFFFF0001 = 0x10008000 est tronquée à 0x8000, ce qui est égal à buffer_size. La vérification réussit, mais le pointeur de données réel (base + 0x17FFF) se trouve 0x7FFF octets après la fin du tampon alloué.

Chemin de code vulnérable

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

Fichiers PoC

FichierDescription
cve-2026-21045_tiff_oob_poc.pyGénère poc_crash.tif — un TIFF malformé déclenchant une écriture hors limites via une balise ASCII avec un count/décalage contrefaits
cve-2026-21048_dng_oob_poc.pyGénère poc_crash.dng — un DNG malformé déclenchant une écriture hors limites via une balise UNDEFINED avec un count/décalage contrefaits

Utilisation

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

Comportement attendu

Sur un appareil non corrigé (correctif de sécurité < juillet 2026), l'ouverture du fichier TIFF/DNG contrefait dans Samsung Gallery (ou toute application utilisant le décodeur Quram) devrait provoquer une corruption de la mémoire du tas (heap) pouvant potentiellement mener à :

  • Crash de l'application (SIGSEGV/SIGABRT)
  • Écriture hors limites dans le tas
  • Dans des configurations de tas spécifiques : potentielle exécution de code arbitraire

Sur un appareil corrigé (SMR Jul-2026+), l'image doit être soit rejetée comme invalide, soit traitée en toute sécurité. Un crash sur un appareil entièrement corrigé peut indiquer un problème distinct non corrigé.

Détails de l'analyse du binaire

Informations sur la bibliothèque

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

Fonctions clés

Table de distribution (type de balise → gestionnaire)

Extraite de WINKJ_ReadExifField :

Tous les types avec element_size = 1 (BYTE, ASCII, UNDEFINED) partagent le même gestionnaire et sont également vulnérables au contournement par dépassement d'entier.

CVE associés

Avertissement

Ces preuves de concept sont fournies uniquement à des fins éducatives et de recherche en sécurité. Elles démontrent le mécanisme de la vulnérabilité afin d'aider les utilisateurs et les développeurs à comprendre le risque. Ne les utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test.

Références

  • 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
Télécharger l’outil
ChampValeur (hex)Décimal
count0xFFFF00014,294,901,761
element_size11
count * element_size0xFFFF0001 ≡ -65535 (mod 2³²)4,294,901,761
value_offset0x00017FFF98,303
value_offset + count*size0x00008000 (dépassement !)32,768
buffer_size0x0000800032,768
Résultat de la vérification : 0x8000 <= 0x8000✅ SUCCÈS—
Accès mémoire réel : base + 0x17FFF0x7FFF octets au-delà du tampon❌ OOB
FonctionAdresse (64 bits)TailleRôle
WINKJ_ReadExifField0x13a0a8912Analyse une entrée IFD individuelle (vulnérable)
WINKJ_ReadTiffIFDInfo0x139d28896Lit toutes les entrées IFD
WINKJ_ReadTiffInfo0x139ad4596Analyseur d'informations TIFF de haut niveau
WINKJ_GetTiffInfo0x1393fc1752Point d'entrée principal d'analyse TIFF
decodeTIFF0x1a2adc580Décode l'image TIFF via libtiff
getTIFFImageInfo0x1a2d20508Obtient les métadonnées d'image TIFF
copySubImageBuffer0x0b2824324Copie la région de sous-image
TIFFReadDirectory0x1aac785896Lecteur de répertoire libtiff 4.6.0
_TIFFMultiply320x1a2f1c56Vérification sûre de multiplication 32 bits
_TIFFMultiply640x1a2f5848Vérification sûre de multiplication 64 bits
TypeNomTaille d'élémentAdresse du gestionnaire
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVEDescriptionStatut
CVE-2025-58477Écriture hors limites dans l'analyse des balises IFD dans libimagecodec.quram.so (SMR Dec-2025)✅ Corrigé
CVE-2026-20973Lecture hors limites dans libimagecodec.quram.so (SMR Jan-2026)✅ Corrigé
CVE-2026-21045Écriture hors limites dans l'analyse TIFF dans libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Non corrigé pour moi
CVE-2026-21048Écriture hors limites dans l'analyse DNG dans libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Non corrigé pour moi
CVE-2026-4775Dépassement d'entier signé dans libtiff 4.6.0 putcontig8bitYCbCr44tile⚠️ Non corrigé pour moi
CVE-2024-7006Déréférencement NULL dans libtiff tif_dirinfo.c✅ Corrigé dans 4.6.1