CVE-2026-96641
Publiée le 2026-10-21 · Dernière modification le 2026-10-21
Pillow est une bibliothèque Python largement utilisée pour ouvrir, manipuler et enregistrer des images. Les versions antérieures à la 13.0.0 contiennent une faille dans la manière dont la bibliothèque calcule la largeur du texte lors de l'utilisation de PILfont. En fournissant des valeurs négatives spécifiques pour les avances de glyphes, un attaquant peut déclencher un dépassement d'entier signé, amenant le logiciel à calculer une largeur positive massive au lieu d'une valeur négative.
Un attaquant peut exploiter cela pour provoquer un déni de service (DoS) en déclenchant une consommation excessive de ressources ou des erreurs de logique, impactant ainsi la disponibilité du système. Cela nécessite un accès réseau et une certaine forme d'interaction de l'utilisateur, comme inciter une application à traiter un fichier image spécialement conçu. Aucune authentification ni privilège particulier n'est requis pour l'exécuter.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
Pillow is a Python imaging library. Prior to 13.0.0, PILfont text-width accumulation in src/_imaging.c checks positive glyph advances against INT_MAX but does not check negative advances against INT_MIN. Repeating a signed 16-bit advance of -32768 can therefore execute a signed C integer overflow in xsize += dx, producing a large positive width from a negative mathematical result. Applications that use getlength(), getsize(), or derived layout, quota, serialization, or allocation calculations can experience logic-integrity errors or resource consumption, while the high-level mask path commonly retains a decompression-bomb check. This issue is fixed in version 13.0.0.