LibRaw uncompressed_fp_dng_load_raw integer overflow vulnerability

1 minute de lecture

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.

Source