Pillow, de meest gebruikte beeldbibliotheek voor Python, bevat een kritiek lek waarmee een aanvaller via een geprepareerde bestandsnaam willekeurige commando’s op een server kan laten uitvoeren. De kwetsbaarheid, geregistreerd als CVE-2026-112900, zit in de manier waarop Pillow EPS-afbeeldingen opent. De bibliotheek geeft de bestandsnaam ongefilterd door aan Ghostscript, het losstaande programma dat de afbeelding daadwerkelijk naar pixels omzet. Kiest een aanvaller een bestandsnaam die Ghostscript als instructie interpreteert, dan kan die verwijzen naar een tweede bestand met commando’s die vervolgens worden uitgevoerd. Het lek zit dus in de bestandsnaam, niet in de inhoud van de afbeelding zelf: de onderliggende PostScript-data kan volkomen onschuldig zijn.
De kwetsbaarheid treft alleen systemen waarop het programma gs (Ghostscript) is geïnstalleerd. Het risico is het grootst bij uploadformulieren die de door een gebruiker opgegeven bestandsnaam bewaren of gebruiken bij het verwerken van een afbeelding.
Getroffen zijn Pillow-versies vanaf 2.6.0 tot en met 12.3.0. De fix zit in Pillow 13.0.0, uitgebracht op 16 oktober. GitHub’s CVE-record beoordeelt het lek met 9,2 op 10, terwijl de Pillow-maintainers het zelf als matig ernstig classificeren omdat een aanvaller eerst de bestandsnaam moet kunnen bepalen. Er is geen misbruik van CVE-2026-112900 in het wild bekend.
Pillow wordt geschat op ongeveer 436 miljoen downloads per maand, een schatting van beveiligingsbedrijf OX Security, en zit onder meer in uploadformulieren, thumbnail- en avatartools, document- en pdf-verwerking en talloze machine-learningprojecten. Een lek in zo’n veelgebruikte afhankelijkheid raakt daardoor indirect een enorm aantal applicaties.
Versie 13.0.0 verhelpt ook twee andere, als kritiek beoordeelde kwetsbaarheden en laat de ondersteuning voor Python 3.10 vallen. Wie upgradet, heeft Python 3.11 of nieuwer nodig.
Voor Nederlandse ontwikkelteams die Pillow gebruiken is updaten naar 13.0.0 of nieuwer de belangrijkste stap: pip install -U "Pillow>=13.0.0", en vergeet daarbij niet containers, wheels en base images met een oudere Pillow-versie opnieuw te bouwen. Kan dat nog niet meteen, zorg dan dat Ghostscript niet aanwezig is op hosts die onbetrouwbare uploads verwerken en geef nooit een door een gebruiker bepaalde bestandsnaam door aan Image.open() voor EPS-bestanden. Let bij dezelfde release ook op het gebruik van draft() en thumbnail() op onbetrouwbare JPEG’s, en behandel het opslaan van TIFF-bestanden naar een in-memory buffer zoals io.BytesIO als gevoelig wanneer het om gebruikersafbeeldingen gaat.
Bron: The Hacker News
Wat betekent dit voor jouw bedrijf?
Gebruikt uw Python-project Pillow voor het verwerken van afbeeldingen, zeker bij uploads van gebruikers? Update dan naar versie 13.0.0 en controleer of Ghostscript nodig is op hosts die onvertrouwde bestanden verwerken.
Blijf op de hoogte
Meld je aan voor de nieuwsbrief: spoedalerts bij kritieke dreigingen en een wekelijks overzicht. Geen mail achterlaten? Volg ons dan via RSS.
