Pillow 13.0.0 behebt mehrere kritische Schwachstellen in Bildverarbeitung

Die Pillow-Maintainer haben am 16. Oktober Version 13.0.0 veröffentlicht, die mehrere Sicherheitslücken in der Python-Bibliothek für Bildverarbeitung behebt. Besonders relevant sind Server, die untrusted uploads verarbeiten: Je nach Verarbeitungspfad kann ein Angreifer Betriebssystembefehle ausführen oder einen Prozess zum Absturz bringen. Die Aktualisierung erfordert außerdem Python 3.11 oder neuer, wenn die Installation bislang Python 3.10 nutzt.

Eine zentrale Lücke trägt die Kennung CVE-2026-112900 und betrifft EPS-Bilder. Das Problem liegt nicht zwingend im Bildinhalt, sondern im Dateinamen: Pillow übergibt diesen an Ghostscript, das einen vom Angreifer kontrollierten Namen als Anweisung interpretieren kann. Der Pfad ist vor allem dort relevant, wo Uploads angenommen werden und Dateinamen aus Benutzereingaben gespeichert oder erzeugt werden. Voraussetzung ist, dass Ghostscript auf dem betroffenen System installiert ist.

Die Schwachstelle betrifft Pillow-Versionen ab 2.6.0 bis einschließlich 12.3.0. Die Veröffentlichung umfasst darüber hinaus Fehler in der JPEG- und TIFF-Verarbeitung. Eine FlashPix-JPEG-Datei kann unter bestimmten Voraussetzungen bereits bei Image.open() die Ausführung eines Angreiferbefehls ermöglichen. Ein weiterer Fehler, CVE-2026-112403, kann bei der Erstellung eines Thumbnails aus einem manipulierten verlustfreien JPEG einen Speicherpuffer überlaufen lassen und laut Advisory einen Absturz verursachen.

Für Betreiber ist die Reichweite dennoch vom jeweiligen Verarbeitungsweg abhängig. Die FlashPix-Lücke setzt das optionale Paket olefile voraus; Pillow erkennt solche Dateien nach ihrem Inhalt und nicht nur nach der Dateiendung. CVE-2026-112393 betrifft das Speichern eines komprimierten TIFF-Bildes in einen Speicherpuffer, nicht das Speichern in eine reguläre Datei. Für die EPS-Lücke ist bislang keine Ausnutzung bekannt, während für die TIFF-Lücke ein öffentliches Proof of Concept genannt wird.

Die empfohlene Maßnahme ist der Wechsel auf Pillow 13.0.0. Dabei sollten auch Container, Wheels und Basis-Images neu gebaut werden, wenn sie eine ältere Pillow-Kopie enthalten. Installationen auf Python 3.10 müssen vor oder zusammen mit dem Update auf Python 3.11 oder neuer umgestellt werden, weil Pillow 13 Python 3.10 nicht mehr unterstützt.

Bis zum Update nennen die Sicherheitshinweise mehrere begrenzende Maßnahmen: Ghostscript sollte auf Hosts, die nicht vertrauenswürdige Uploads verarbeiten, entfernt werden; für EPS darf kein vom Angreifer kontrollierter Dateiname an Image.open() gelangen. Bei nicht vertrauenswürdigen JPEGs sollen draft() und thumbnail() vermieden oder zuvor load() aufgerufen beziehungsweise reducing_gap=None verwendet werden. TIFF-Bilder aus Benutzer-Uploads sollten beim Speichern in einen In-Memory-Puffer wie io.BytesIO als besonders sensibler Pfad behandelt werden.

Quellen

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert