LibRaw x3f_load_huffman heap-based buffer overflow vulnerability
Mis à jour :
Vulnérabilité de dépassement de tampon dans LibRaw
Une faille critique a été identifiée dans la bibliothèque LibRaw (commit d20315b), affectant spécifiquement le traitement des fichiers image au format Sigma/Foveon X3F. Cette vulnérabilité permet à un attaquant, via un fichier malveillant, de provoquer un dépassement de tampon basé sur le tas (heap-based buffer overflow), pouvant mener à une corruption de la mémoire ou à une exécution de code arbitraire.
Points clés :
- Cause racine : Un dépassement d’entier (integer overflow) lors du calcul de la taille du tampon nécessaire à la décompression Huffman. Le produit des dimensions (
colonnes * lignes * 3) dépasse la capacité d’un entier 32 bits, entraînant une allocation de mémoire insuffisante. - Mécanisme d’exploitation : La routine de décodage écrit des données dans le tampon alloué en utilisant les dimensions réelles, ce qui dépasse largement les limites du tampon alloué (trop petit à cause de l’overflow).
- Conditions d’exploitation : Nécessite une configuration où la limite de mémoire (
max_raw_memory_mb) autorise des calculs dépassant 11 Go de données, et que la bibliothèque soit compilée avec l’option-DUSE_X3FTOOLS(non activée par défaut).
Vulnérabilité identifiée :
- CVE : TALOS-2026-2359 (référencée sous CWE-190 : Dépassement ou enveloppement d’entier).
- Score CVSSv3 : 8.1 (Élevé).
Recommandations :
- Mise à jour : Appliquer le correctif fourni par l’éditeur (disponible depuis le 06/04/2026).
- Atténuation : Pour les systèmes ne pouvant pas effectuer la mise à jour, restreindre la limite
max_raw_memory_mbà une valeur raisonnable pour empêcher le déclenchement de l’overflow sur les fichiers X3F. - Configuration : Si le support des fichiers X3F n’est pas requis, recompiler la bibliothèque sans l’option
-DUSE_X3FTOOLS.
