LibRaw x3f_load_huffman heap-based buffer overflow vulnerability

1 minute de lecture

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.

Source