Pdf-voorbeelden als achterdeur: waarom je server Ghostscript moet bijwerken
Een kritiek lek in Ghostscript, CVE-2026-39919, laat een aanvaller met een speciaal gemaakte pdf code uitvoeren op een server die van die pdf een voorbeeldafbeelding maakt. Het beveiligingsbedrijf Wordfence ontdekte het en toonde op een testsite met WordPress aan dat een anonieme bezoeker zo code kon uitvoeren op de server. Ghostscript zit, vaak onzichtbaar achter ImageMagick, in veel websites, documentbeheersystemen en mailgateways. Artifex loste het lek op 8 september 2026 op in versie 10.08.0. Ubuntu en Debian 13 hebben een bijgewerkt pakket, Debian 12 had dat op 15 oktober nog niet. Misbruik in het wild is nog niet vastgesteld.
Of: waarom de kopieermachine in de gang de sleutels van het hele gebouw heeft
Bij een gevaarlijke pdf denk je aan een bijlage die iemand op zijn eigen computer opent. Een mail van een onbekende, een factuur die geen factuur is, een klik te veel. Dit lek werkt anders. Niemand hoeft iets te openen. De server doet het zelf, uit behulpzaamheid, omdat hij je een klein voorbeeldje van de eerste pagina wil tonen.
Ghostscript-lek CVE-2026-39919: wat er aan de hand is
Het programma dat je nooit gekozen hebt
Ghostscript bestaat sinds 1988.1 Het leest pdf- en PostScript-bestanden en zet hun pagina’s om in afbeeldingen, zodat andere software ze kan tonen, afdrukken of als miniatuur laten zien. Je kiest het zelden bewust. Het komt mee als afhankelijkheid van iets anders, en noemt zijn naam nergens.
Neem WordPress. Sinds versie 4.7 kan WordPress van een opgeladen pdf een afbeelding van de eerste pagina maken. Dat doet het niet zelf. Op een server met de PHP-extensie Imagick vraagt WordPress het aan ImageMagick, en ImageMagick start Ghostscript. Ghostscript draait dan meestal onder dezelfde account als de webserver. Het wordt alleen gestart als iets een afbeelding van de pdf vraagt: een formulier dat een bestand gewoon opslaat, raakt het niet aan.
Denk aan een kantoorgebouw met een kopieermachine in de gang. Niemand heeft ze gekocht; ze kwam mee met het gebouw. Iedereen gebruikt ze, niemand onderhoudt ze, en omdat het zo handig was, kreeg ze bij de installatie dezelfde sleutelbos als de conciërge. Zolang er gewone vellen papier in gaan, is dat geen probleem.
Eén byte verschil
Het lek zit in de manier waarop Ghostscript JPEG 2000-afbeeldingen in een pdf leest. Zo’n afbeelding bestaat uit lagen, bijvoorbeeld een laag voor de helderheid en een voor de transparantie, en die lagen mogen een verschillende resolutie hebben en minder dan acht bits per waarde gebruiken. Combineer je die twee eigenschappen, dan loopt het mis. In het testbestand van Wordfence rekent Ghostscript correct uit dat een rij 256 bytes geheugen nodig heeft, reserveert die 256 bytes, en schrijft er vervolgens 1.024. De rest stroomt over in het geheugen ernaast, waar Ghostscript zijn eigen administratie bijhoudt. Wie de afbeelding maakt, heeft invloed op wat daar terechtkomt.
Het openbare testbestand is 1.029 bytes groot en verschilt van een onschuldige pdf in één enkele byte. Beide zijn geldige pdf’s met een geldige afbeelding. Een controle op de extensie, het bestandstype of de structuur van het bestand vangt het dus niet.
Ghostscript heeft een veiligheidsmodus, -dSAFER, die beperkt wat een document mag doen. Ze helpt hier niet: Wordfence bereikte het lek met de modus aan. Dat is ook logisch. Een bordje “niet faxen” op de kopieermachine verbiedt een functie. Het voorkomt geen papier dat zo gevouwen is dat het de machine laat vastlopen.
Artifex, dat Ghostscript onderhoudt, bevestigde de melding op 24 augustus 2026, een dag na de ontdekking, en bracht op 8 september versie 10.08.0 uit met de correctie. Kwetsbaar zijn de versies 9.21 tot en met 10.07.1, als ze de JPEG 2000-decoder OpenJPEG gebruiken. Dat was het geval in alle tien de omgevingen die Wordfence testte.2
9,8 op 10, en toch geen reden tot paniek
Het lek krijgt een CVSS-score van 9,8 op 10. Dat cijfer beschrijft het slechtste geval: een toepassing op het internet die pdf’s aanvaardt zonder aanmelding. Het zegt niets over jouw server. Ubuntu, dat de score overneemt, geeft het lek zelf een prioriteit “medium”. Beide zijn juist; ze beantwoorden een andere vraag.
Wordfence deed iets wat onderzoekers niet altijd doen: het testte hoe goed zijn eigen aanval werkte. Het bouwde twee werkende exploits voor de versie van Ghostscript op zijn testserver, en probeerde ze daarna 10.240 keer op tien andere Linux-omgevingen. Het lukte geen enkele keer. Op systemen met exact hetzelfde Ghostscript-programma lukte het wel, ook na wijzigingen aan lettertypes, taalinstellingen en een systeembibliotheek, al niet bij elke poging. En de code draait onder de account die de pdf verwerkt, niet automatisch als root.
Dit is geen pdf die elke server ter wereld openbreekt. Het is een aanval op maat. Maar een hostingbedrijf dat duizenden sites vanaf dezelfde image draait, is één maat. Wordfence verwijst ook naar onderzoekers van Hacktron, die met hulp van AI een vergelijkbaar lek in een andere bibliotheek voor elk nieuw doelwit in een à twee dagen bruikbaar maakten.3 Moeilijker is niet hetzelfde als veilig.
Misbruik in het wild heeft Wordfence niet gezien. Dat past in het grotere beeld: van de lekken die in 2026 gemeld werden, raakte volgens Google ongeveer één op de 431 echt misbruikt. Al is een lek dat je bereikt met een gewoon uploadformulier wel precies het soort waar aanvallers naar uitkijken.
Waar zit Ghostscript in een kmo?
Volgens Wordfence is dit geen WordPress-probleem. WordPress was alleen de weg waarlangs de pdf bij Ghostscript kwam. Elke toepassing die pdf’s van anderen omzet in afbeeldingen, kan dezelfde weg openen. Wordfence noemt documentbeheersystemen, afdrukdiensten, programma’s die facturen verwerken, mailgateways en conversiediensten. In een kleine zaak kan dat zijn:
- de website met een sollicitatieformulier, waar kandidaten hun cv als pdf opladen;
- de webshop of drukkerij die klanten een bestand laat aanleveren en er een voorbeeld van toont;
- het documentbeheer of intranet dat van elke pdf een miniatuur maakt;
- een mailgateway die bijlagen controleert of een voorbeeld toont.
Zoeken naar het woord “Ghostscript” in je eigen code helpt weinig. Meestal zit ImageMagick of een andere bibliotheek ertussen.
Kmo-Kristof: Ik heb geen Ghostscript. Ik heb een WordPress-site met een sollicitatieformulier.
Security-Sofie: Waar kandidaten een cv in pdf opladen?
Kmo-Kristof: Ja. En in de mediabibliotheek zie ik meteen een miniatuur. Handig.
Security-Sofie: Wie maakt die miniatuur, denk je?
Kmo-Kristof: WordPress?
Security-Sofie: WordPress vraagt het aan Imagick. Imagick vraagt het aan ImageMagick. ImageMagick vraagt het aan Ghostscript.
Kmo-Kristof: Dus ik heb Ghostscript.
Security-Sofie: Je hebt een hele stamboom. Ghostscript is de grootvader die niemand nog bezoekt.
Kmo-Kristof: En die heeft de sleutels van het huis.
Security-Sofie: Grootvaders hebben altijd de sleutels.
Wie heeft de fix al?
Linux-distributies passen correcties vaak toe op de oudere versie die ze al leveren. Ubuntu 22.04 heeft de fix bijvoorbeeld in een pakket dat zich nog altijd als Ghostscript 9.55.0 voorstelt. Het commando gs --version zegt dus weinig. Kijk naar de volledige pakketversie, met dpkg -s ghostscript op Debian en Ubuntu of rpm -q ghostscript op Fedora en de Red Hat-familie, en vergelijk die met het advies van je distributie.
| Systeem | Pakket met de fix | Stand op 15 oktober 2026 |
|---|---|---|
| Ubuntu 22.04 LTS | 9.55.0~dfsg1-0ubuntu5.14 | Opgelost |
| Ubuntu 24.04 LTS | 10.02.1~dfsg1-0ubuntu7.9 | Opgelost |
| Ubuntu 26.04 LTS | 10.06.0~dfsg-3ubuntu1.1 | Opgelost |
| Debian 13 | 10.05.1~dfsg-1+deb13u2 (DSA-6516-1) | Opgelost |
| Debian 12 | Nog geen | Kwetsbaar |
| AlmaLinux 10 | Uitgebracht op 2 oktober, volgens Wordfence | Opgelost |
| Fedora 44, Alpine 3.22 en 3.23 | Op 9 oktober nog niet bijgewerkt, volgens Wordfence | Controleer het advies |
Nog iets: de testversie 10.08.0rc1 meldt zich ook als 10.08.0, maar heeft de fix niet. En de officiële WordPress-image voor Docker die Wordfence testte, bevatte een kwetsbare Ghostscript, Imagick en een werkend pad voor pdf-voorbeelden. Een standaard-WordPress laat anonieme bezoekers geen pdf’s in de mediabibliotheek zetten, maar één plugin of formulier volstaat om dat pad te openen.
Wat het betekent voor je zaak
- Vraag het je hoster. Wie beheerde hosting heeft, kan dit meestal niet zelf nagaan. Vraag of het Ghostscript-pakket de fix voor CVE-2026-39919 bevat, en of opgeladen pdf’s ergens in een voorbeeld worden omgezet.
- Beheer je zelf een server? Installeer het bijgewerkte pakket en volg de aanwijzingen van je distributie over herstarten. Docker-containers bouw je opnieuw vanaf een bijgewerkte basisimage, zonder de oude laag uit de cache, en je zet ze opnieuw uit. Een oude container herstarten volstaat niet.
- Zoek waar pdf’s van anderen in een afbeelding veranderen. Formulieren, webshop, documentbeheer, mailgateway, facturatie. In WordPress toont Sitestatus (Site Health), onder Info, of Imagick pdf als formaat herkent. Dat zegt wel niets over de patch.
- Kun je nog niet patchen? Aanvaard tijdelijk geen pdf’s van bezoekers of van gebruikers met beperkte rechten, of schakel het lezen van pdf’s uit in het beveiligingsbeleid van ImageMagick. Dat schakelt ook de voorbeelden uit. Een limiet op het aantal bestanden per formulier helpt een beetje, maar dicht het lek niet.
- Rekenen op -dSAFER? Doe het niet: de modus helpt niet tegen dit lek.
- Op langere termijn: laat documenten omzetten in een aparte, afgeschermde dienst die niet aan je wachtwoorden en gegevens kan. Kies daarvoor iets steviger dan een gewone container; die is niet altijd een veiligheidsgrens.
De kopieermachine in de gang
De kopieermachine deed altijd wat je vroeg. Daar zit het probleem net. Ze deed het ook voor wie het vel papier had ontworpen, met de sleutelbos van de conciërge in haar binnenzak.
Patch haar. En kijk daarna eens rond in de gang, want ze staat er zelden alleen.
Ghostscript werd geschreven door L. Peter Deutsch en wordt vandaag onderhouden door het bedrijf Artifex. Dat een programma van 1988 in 2026 nog altijd pdf’s omzet op talloze servers, is een compliment voor het programma en een waarschuwing over hoeveel oude code er onder moderne software zit. ↑
Het lek werd gevonden door Wordfence Argus, een AI-systeem voor beveiligingstests, tijdens een onderzoek van WordPress 7.1. AI vindt dus steeds meer lekken, en volgens dezelfde blogpost helpt AI ook om ze sneller bruikbaar te maken. Het is het soort wapenwedloop waarin de verdediger vooral wint door sneller te patchen. ↑
Het ging om libheif, een bibliotheek die HEIF-afbeeldingen leest, het formaat van foto’s op iPhones. Hacktron noemde zijn onderzoek “HEIF Heist” en haalde volgens Wordfence code-uitvoering of gegevens uit het geheugen bij echte diensten, soms na duizenden opgeladen afbeeldingen. ↑
Bronnen
- Wordfence Argus Discovers Critical Vulnerability in Ghostscript, the Program That Turns Uploaded PDFs into Thumbnails on Your Server (Wordfence, 12 oktober 2026)
- Ghostscript flaw lets hackers hijack servers via PDF uploads (BleepingComputer, 13 oktober 2026)
- CVE-2026-39919 (Debian Security Tracker)
- CVE-2026-39919 (Ubuntu Security)
- Bug 709666, met de correctie in ghostpdl 10.08.0 (Ghostscript Bugzilla)