LibRaw uncompressed_fp_dng_load_raw integer overflow vulnerability
Mis à jour :
Vulnérabilité de dépassement d’entier dans LibRaw
Une faille critique de dépassement d’entier (integer overflow) a été identifiée dans la fonction uncompressed_fp_dng_load_raw de la bibliothèque LibRaw (commit 8dc68e2). Cette vulnérabilité permet à un attaquant de provoquer un dépassement de tampon sur le tas (heap buffer overflow) via un fichier DNG spécialement conçu, pouvant mener à une corruption de la mémoire ou à l’exécution de code arbitraire.
Points clés :
- Cause racine : Le calcul de la taille pour l’allocation mémoire utilise de l’arithmétique 32 bits, alors que les dimensions de l’image sont fournies par l’attaquant. Le produit dépasse la limite
UINT32_MAX, entraînant une allocation insuffisante par rapport aux données réelles traitées ultérieurement. - Conditions d’exploitation : La vulnérabilité est conditionnée par la valeur
max_raw_memory_mb. Avec la configuration par défaut (2 Go), la protection logicielle existante bloque l’exploitation. Le risque survient uniquement si une application augmente cette limite de mémoire au-delà d’environ 16 Go. - Gravité : 8.1 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H).
Vulnérabilité identifiée :
- CWE-190 : Integer Overflow or Wraparound.
Recommandations :
- Mise à jour : Appliquer le correctif fourni par le vendeur, disponible depuis le 6 avril 2026.
- Configuration : Maintenir la valeur
max_raw_memory_mbà des niveaux raisonnables (le paramètre par défaut est sécurisé) pour éviter de déclencher le scénario d’exploitation si le correctif ne peut pas être déployé immédiatement. - Validation des entrées : Comme mesure de défense en profondeur, toujours valider rigoureusement les métadonnées (largeur, hauteur, échantillonnage) provenant de fichiers RAW non fiables avant le traitement.
