Retour au blog
PythonPillowCPythontarfileCVE-2026-112900

Python en octobre 2026 : Pillow 13.0.0 corrige une injection d'arguments Ghostscript, CPython corrige tarfile et zipfile

Publié le 2026-10-20 · Mis à jour le 2026-10-246 min de lectureCleanIssue

> En bref : Pillow 13.0.0, publié le 16 octobre 2026, corrige CVE-2026-112900 (CVSS 9.2) : une injection d'arguments dans l'appel à Ghostscript pour les fichiers EPS, qui peut mener à une exécution de code. Il corrige aussi un dépassement de tas dans FlashPix (CVE-2026-112398), un dépassement de tampon sur les vignettes JPEG et une corruption mémoire à l'encodage TIFF. Début octobre, CPython 3.10.22, 3.11.17, 3.12.15, 3.13.16 et 3.14.8 ont corrigé plusieurs failles d'extraction d'archives et de TLS.

Pillow : le danger vient du nom de fichier

PIL.EpsImagePlugin.Ghostscript() construit la ligne de commande Ghostscript avec le chemin du fichier sans le nettoyer. Un nom de fichier qui commence par - est lu par Ghostscript comme une option. Pour exécuter des commandes, l'attaquant a besoin d'un nom commençant par @ et de contrôler le fichier texte référencé.

Le point important : le contenu de l'EPS n'a pas besoin d'être malveillant. Un fichier EPS parfaitement sain déclenche l'injection si le nom passé à Image.open() est influencé par l'attaquant. Bloquer les fichiers EPS suspects ne protège donc pas.

  • Versions touchées : Pillow 2.6.0 à 12.3.0.
  • Conditions : nom de fichier influencé par l'attaquant, chemin de traitement EPS, Ghostscript installé.
  • Si vous ne pouvez pas mettre à jour : désactivez les plugins EPS et FPX. Notez que Pillow 13.0.0 ne supporte plus Python 3.10.
  • CPython : les archives et TLS

    La série de versions du 1er octobre corrige notamment :

  • tarfile : des filtres d'extraction contournables (CVE-2026-19672, CVE-2026-82049, CVE-2026-87910), qui pouvaient créer des dossiers ou exposer des fichiers hors du répertoire de destination ;
  • zipfile : une décompression non bornée des membres bzip2, LZMA et Zstandard (CVE-2026-15310), qui permet de saturer la mémoire avec une petite archive ;
  • ssl et urllib : validation des noms d'hôte (CVE-2026-19553) et identifiants HTTPS réutilisés sur HTTP (CVE-2026-15806).
  • Python 3.10.22 est la dernière version de la branche 3.10, désormais en fin de vie.

    Ce qu'il faut faire maintenant

  • Mettez à jour Pillow vers 13.0.0 partout où il traite des fichiers venant de l'extérieur.
  • Ne laissez jamais un nom de fichier fourni par l'utilisateur arriver tel quel dans un appel système ou une bibliothèque : renommez les fichiers reçus avec un identifiant généré.
  • Mettez à jour CPython vers la dernière version de votre branche et quittez 3.10.
  • Ce que ça change pour un agent IA

    Un agent qui reçoit des pièces jointes, génère des vignettes ou décompresse des archives pour les lire utilise souvent Pillow, tarfile et zipfile. Si le nom du fichier vient d'un e-mail, d'un ticket ou d'une page lue par l'agent, l'attaquant contrôle une partie de l'appel. C'est une injection classique, déclenchée par un contenu que l'agent a lu.

    Vous éditez un logiciel ? CleanIssue réalise des audits de sécurité pour votre produit en conditions réelles, sans accès au code. Pour une première lecture de votre exposition, commencez par une revue externe de votre application.

    Besoin de savoir ce que votre agent IA peut faire ?

    Expliquez votre agent, ses tools et votre contexte client. Nous revenons vers vous avec le bon niveau de revue.

    Parler de votre audit