CVE-2026-25646 : une faille ancienne de Libpng présente un risque d’exécution de code à distance

Une faille vieille de plusieurs décennies dans libpng expose des systèmes largement utilisés à un déni de service et à une possible exécution de code via des fichiers PNG spécialement conçus.

Written By
Ken Underhill
Ken Underhill
Feb 11, 2026
4 minute read
eSecurity Planet content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Une vulnérabilité présente dans libpng depuis près de 30 ans constitue un risque potentiel pour des millions de systèmes. 

Cette faille, due à un dépassement de tampon sur le tas, peut provoquer le plantage d’applications et, dans certaines conditions, permettre l’exécution de code arbitraire lors du traitement d’images PNG spécialement conçues.

« Dans le pire des cas, avec une préparation adéquate du tas, un attaquant pourrait lire et écrire jusqu’à num_palette / 2 octets au-delà de la fin des tampons index_to_palette et palette_to_index, ce qui pourrait entraîner une divulgation d’informations ou l’exécution de code arbitraire », ont déclaré les chercheurs.

Fonctionnement de la vulnérabilité de Libpng

Libpng est la bibliothèque de référence officielle du format PNG. Elle est largement intégrée aux systèmes d’exploitation, aux navigateurs, aux applications graphiques et aux appareils embarqués.

En raison de cette intégration généralisée, les vulnérabilités de libpng peuvent avoir un impact important en aval. 

La vulnérabilité (CVE-2026-25646) existe depuis l’implémentation d’origine de la fonction concernée — alors appelée png_set_dither() — ce qui signifie que toutes les versions historiques de libpng sont affectées.

La faille est un dépassement de tampon sur le tas dans la fonction png_set_quantize(), qui réduit le nombre de couleurs d’une image pour l’adapter aux contraintes d’affichage. 

La vulnérabilité découle d’une erreur de logique dans la gestion des indices de couleur pendant le processus de quantification. 

Elle se déclenche lorsqu’une image PNG contient un bloc PLTE (palette), mais aucun bloc hIST (histogramme), que l’application appelante demande une quantification des couleurs et que la palette contient plus de deux fois le nombre de couleurs prises en charge par l’écran de l’utilisateur. 

Point important, toutes ces conditions sont valides au regard de la spécification PNG : une image malveillante n’a donc pas besoin d’enfreindre les règles du format pour exploiter la faille.

Advertisement

En interne, la fonction construit une table de hachage qui regroupe les couleurs similaires à l’aide d’une métrique de distance des couleurs. 

Le problème vient du fait que le code enregistre les indices de couleur actuels lors du remplissage de cette table, puis les traite comme des indices d’origine lors de la validation. 

Cette incohérence empêche l’algorithme d’élaguer correctement les entrées de la palette, ce qui le fait entrer dans une boucle infinie. 

À mesure que la boucle se poursuit, la variable de recherche max_d dépasse la taille fixe de la table de hachage — 769 pointeurs — et force des lectures au-delà de la fin d’un tampon alloué sur le tas.

Dans le scénario le plus probable, cela entraîne un plantage déterministe par déni de service lorsque l’application traite un fichier PNG spécialement conçu. 

Cependant, les chercheurs ont indiqué qu’avec une préparation minutieuse du tas, des attaquants pourraient être capables de lire ou d’écrire jusqu’à num_palette / 2 octets au-delà des tampons alloués, ce qui ouvre la voie à une divulgation d’informations ou à l’exécution de code arbitraire.

Un code de preuve de concept a été publié pour cette vulnérabilité. 

Réduire les risques liés à la faille de Libpng

Les organisations doivent considérer cette vulnérabilité à la fois comme un problème de correctif et comme un risque plus large lié à la chaîne d’approvisionnement. 

Comme libpng est largement intégrée aux applications et aux plateformes, la remédiation nécessite une visibilité sur les dépendances et les protections à l’exécution.

  • Appliquer un correctif à la version 1.6.55 de libpng, reconstruire les applications affectées et vérifier les versions corrigées de la bibliothèque sur tous les systèmes gérés et les déploiements embarqués.
  • Effectuer un examen complet des dépendances, notamment la validation de SBOM afin d’identifier les versions de libpng intégrées ou liées statiquement dans les logiciels tiers et ceux développés en interne.
  • Isoler et placer en bac à sable les composants de traitement d’images, en particulier dans les flux accessibles depuis le web ou impliquant des téléversements effectués par les utilisateurs, afin de limiter l’ampleur d’une éventuelle exploitation.
  • Activer des protections mémoire du compilateur et de l’environnement d’exécution, telles que l’ASLR, les canaris de pile et la détection des exploits sur les terminaux afin de réduire la probabilité d’attaques réussies par corruption du tas.
  • Restreindre et valider les téléversements d’images en imposant des contrôles de fichiers côté serveur, en réencodant ou en assainissant les fichiers PNG et en limitant, lorsque cela est possible, les fonctions de quantification superflues.
  • Améliorer la surveillance des comportements anormaux lors de l’analyse des fichiers PNG, des plantages d’applications ou des activités mémoire suspectes associés aux services de traitement d’images.
  • Tester les plans de réponse aux incidents au moyen d’exercices sur table autour des bibliothèques tierces vulnérables.
Advertisement

Ces mesures contribuent à limiter l’exposition et à renforcer la résilience.

CVE-2026-25646 met en évidence le risque persistant que présentent les composants open source largement éprouvés et l’exposition systémique créée par des bibliothèques profondément intégrées. 

Une vulnérabilité restée inconnue pendant des décennies dans une bibliothèque centrale de traitement d’images rappelle la nécessité d’une visibilité continue sur les dépendances et d’une gouvernance rigoureuse des mises à jour.

Ces risques soulignent encore davantage la valeur des architectures zero-trust qui partent du principe qu’aucun composant — interne ou externe — ne doit être considéré comme intrinsèquement fiable.

Ken Underhill

Ken Underhill is an award-winning cybersecurity professional, bestselling author, and seasoned IT professional. He holds a graduate degree in cybersecurity and information assurance from Western Governors University and brings years of hands-on experience to the field.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.