La plupart des gens n’ont jamais installé Ghostscript et ne savent pas qu’ils s’en servent. Pourtant, ce programme tourne en coulisses sur un nombre énorme de serveurs : c’est lui qui transforme un PDF envoyé en vignette dans WordPress, dans les systèmes de gestion électronique de documents, dans les passerelles de messagerie et dans les services du type « compressez votre PDF en ligne ». En septembre 2026, on y a corrigé une faille par laquelle un PDF piégé peut conduire à l’exécution de code étranger sur la machine qui traite le fichier.
Voici ce que l’on sait avec certitude, ce que l’on ignore, comment vérifier votre propre serveur et ce que cette histoire signifie pour quiconque envoie ses documents en ligne pour les faire traiter.
En bref
- La faille : CVE-2026-39919, un dépassement de tampon dans le tas lors du traitement des images JPEG 2000 par Ghostscript. Un PDF contenant une image préparée à cet effet suffit à la déclencher.
- Versions concernées : de la 9.21 à la 10.07.1 selon ceux qui l’ont découverte (la fiche CVE indique de façon générale « antérieures à 10.08.0 »).
- Le correctif : Ghostscript 10.08.0, publié le 8 septembre 2026. Les distributions Linux reportent le correctif sur d’anciens numéros de version : ce qui compte, c’est donc la révision complète du paquet, pas ce qu’affiche
gs --version. - Gravité : 9,8 en CVSS 3.1 selon la fiche CVE, 7,8 (« Moderate ») selon Red Hat. Les deux chiffres sont honnêtes, ils décrivent simplement des scénarios différents.
- Attaques réelles : aucune confirmée à ce jour. L’exploit fonctionnel a été mis au point en laboratoire et adapté à une compilation précise.
-dSAFERne protège pas. Le bug se déclenche aussi avec le bac à sable activé.
Ce qui s’est passé
La faille a été découverte par Wordfence, une société spécialisée dans la sécurité de WordPress, avec Argus, son système de test assisté par IA. C’était le 23 août 2026, lors d’un audit de sécurité de WordPress 7.1. L’outil a suivi un fichier envoyé au-delà du code PHP qui l’avait accepté : à travers l’extension Imagick, à travers ImageMagick, jusqu’à Ghostscript et au décodeur JPEG 2000 tout en bas.
Artifex, l’éditeur de Ghostscript, a confirmé le signalement le lendemain et publié la version 10.08.0 corrigée le 8 septembre. La fiche CVE a été publiée le 15 septembre. Wordfence a rendu publics les détails techniques le 12 octobre, et dès le lendemain BleepingComputer puis le reste de la presse spécialisée ont repris le sujet.
Comment fonctionne le bug
Pas besoin de connaître le C pour comprendre. Une image est une grille d’échantillons. JPEG 2000 permet aux composantes d’une image (par exemple la luminosité et la transparence) d’avoir des résolutions différentes, et à un échantillon d’occuper moins de 8 bits. Avec des échantillons de 2 bits, on en loge quatre dans un octet.
Dans l’exemple décrit par les chercheurs, une ligne de l’image contient 1 024 de ces échantillons. Empaquetés, ils occupent 256 octets, et Ghostscript réserve correctement 256 octets. Mais lorsque les deux conditions ci-dessus se présentent ensemble, la boucle qui remplit la ligne écrit un octet entier par échantillon au lieu d’en ranger quatre par octet. 1 024 octets atterrissent dans un tampon de 256. Les 768 octets en trop de chaque ligne écrasent la mémoire où Ghostscript range ses propres données de gestion. Et comme ces octets viennent de l’image, c’est l’auteur du fichier qui en choisit le contenu.

C’est le chemin classique qui mène de « le programme a planté » à « le programme a fait ce que voulait l’attaquant ». Les systèmes modernes rendent ce chemin bien plus difficile (disposition aléatoire de la mémoire et autres protections), mais ne le ferment pas complètement.
Comment un PDF arrive jusqu’à Ghostscript dans WordPress
WordPress ne dessine pas lui-même les aperçus de PDF. Depuis la version 4.7, il sait générer une image de la première page d’un document envoyé, et il le fait par l’intermédiaire d’autres programmes. La chaîne est la suivante :
WordPress → extension PHP Imagick → ImageMagick → Ghostscript
Ghostscript s’exécute dans un processus séparé, généralement sous le même compte que le serveur web. Il ne démarre que lorsque quelque chose demande une image du PDF. Un formulaire qui enregistre le fichier sur le disque et n’en fait rien d’autre ne le lance jamais.
Une attaque par ce chemin exige que les quatre conditions soient réunies en même temps :
- quelqu’un de l’extérieur (anonymement ou avec un compte aux droits limités) peut envoyer un PDF,
- le site demande un aperçu ou une vignette de ce fichier,
- le serveur dispose d’Imagick ou d’un autre outil qui appelle Ghostscript pour cela, et la politique d’ImageMagick autorise la lecture des PDF,
- le Ghostscript installé n’a pas le correctif.
Une réserve importante : un WordPress standard ne permet pas aux visiteurs anonymes d’envoyer des fichiers dans la médiathèque. L’attaquant a besoin d’une extension, d’un formulaire avec champ de pièce jointe ou d’un compte qui ouvre ce chemin. Wordfence a aussi examiné l’image Docker officielle de WordPress : elle contenait un Ghostscript 10.05.1 vulnérable, l’extension Imagick et une chaîne d’aperçu PDF fonctionnelle. À elle seule, elle ne suffisait toutefois pas pour une attaque anonyme.
Un détail joue en faveur de l’attaquant : lorsque la première tentative de génération d’aperçu échoue, WordPress réessaie automatiquement avec d’autres réglages. Trois pièces jointes malveillantes représentent donc six exécutions de Ghostscript. Dans le test de Wordfence, le formulaire affichait toujours un envoi réussi pendant que Ghostscript plantait en silence en arrière-plan.
Ce n’est pas un bug de WordPress ni de l’extension de formulaire. Ils n’ont été que le chemin par lequel le fichier a atteint Ghostscript.
Quel est le danger réel
Cela vaut la peine de s’arrêter un instant, car les titres du genre « un PDF pirate votre serveur » ne disent que la moitié de la vérité.
Pourquoi deux notes différentes. La fiche CVE attribue 9,8 sur 10 (CVSS 3.1) et 9,3 (CVSS 4.0). Ces chiffres décrivent le pire des cas : une application exposée au réseau qui accepte des PDF sans connexion et sans intervention humaine. Red Hat note la même faille 7,8 et la qualifie de « Moderate », car il évalue le scénario où un utilisateur ouvre un fichier malveillant sur son propre ordinateur. Aucune des deux notes n’est fausse : elles répondent à des questions différentes.
Combien d’essais, combien de réussites. Wordfence a conçu deux exploits fonctionnels pour sa compilation de laboratoire, puis les a lancés 10 240 fois sur dix autres environnements : Debian, Ubuntu, Fedora, AlmaLinux, Alpine et le conteneur officiel de WordPress. Ils n’ont pas fonctionné une seule fois. Sur la compilation pour laquelle ils avaient été écrits, ils ont continué à fonctionner, même après modification des polices, des réglages de langue et d’une bibliothèque système essentielle, mais pas à chaque tentative.
La conclusion est à double tranchant. Il n’existe pas de fichier unique capable d’ouvrir n’importe quel serveur au monde. Mais un attaquant n’a pas besoin d’un fichier universel s’il vise une entreprise précise, ou un hébergeur où des centaines de sites tournent sur une image système identique. Les chercheurs rappellent que, dans un cas similaire touchant la bibliothèque libheif, une autre équipe aidée par l’IA adaptait un exploit à chaque nouvelle cible en un ou deux jours.
Avec quels droits. Le code de l’attaquant s’exécute sous le compte qui traite le PDF, en général celui du serveur web. Ce n’est pas automatiquement root, mais ce compte peut généralement lire les fichiers du site, y compris la configuration contenant le mot de passe de la base de données.
Attaques réelles : à la date de ce texte, personne n’a signalé d’exploitation de cette faille en dehors d’un laboratoire.
Comment vérifier votre propre serveur

Si vous avez accès au terminal, commencez par trois questions.
1. Ghostscript est-il présent, et dans quelle révision de paquet ?
- Debian et Ubuntu :
dpkg -s ghostscript | grep Version - Fedora, RHEL, AlmaLinux :
rpm -q ghostscript - Pour être complet :
gs --version, mais ce numéro seul ne tranche rien.
Pourquoi le numéro ne suffit-il pas ? Ubuntu 22.04 a corrigé la faille dans le paquet 9.55.0~dfsg1-0ubuntu5.14, qui répond toujours « 9.55.0 » quand on lui demande sa version. Debian 13 a le correctif dans 10.05.1~dfsg-1+deb13u2 (bulletin DSA-6516-1). Red Hat a publié des correctifs pour RHEL 10, 9 et 8 entre le 1er et le 6 octobre. Selon le suivi de sécurité de Debian, Debian 12 (bookworm) est toujours marqué comme vulnérable. Comparez toujours avec le bulletin de votre distribution.
Il existe aussi un piège dans l’autre sens : la version candidate 10.08.0 (RC) se présente comme 10.08.0 et ne contient pas le correctif. C’était justement celle de la machine de test de Wordfence. Si vous avez compilé Ghostscript à partir des sources, assurez-vous qu’il s’agit de la version finale.
2. PHP dispose-t-il d’Imagick ? php -m | grep -i imagick. Dans le tableau de bord WordPress : Outils → Santé du site → Infos → Gestion des médias. Ce n’est qu’un point de départ : cela montre si Imagick reconnaît le PDF, mais ne dit rien sur l’état de Ghostscript.
3. ImageMagick peut-il lire les PDF ? convert -list format | grep -i pdf (avec ImageMagick 7 : magick -list format). Les lettres rw à côté de PDF signifient que le chemin vers Ghostscript est ouvert.
Conteneurs : un redémarrage ne suffit pas. Récupérez une image de base mise à jour, reconstruisez sans couches en cache et redéployez.
Hébergement mutualisé : en général, vous ne pouvez pas le vérifier vous-même. Posez deux questions à votre hébergeur : le paquet Ghostscript de ses serveurs inclut-il le correctif de CVE-2026-39919, et les PDF envoyés par les clients sont-ils transformés en aperçus quelque part sur ses systèmes ?
Si vous ne pouvez pas mettre à jour tout de suite
- Cessez d’accepter des PDF provenant de visiteurs anonymes et de comptes aux droits limités. Un fichier qui n’atteint pas le serveur n’atteint pas Ghostscript.
- Désactivez la lecture des PDF dans la politique d’ImageMagick. Dans le fichier
policy.xml(généralement sous/etc/ImageMagick-6/ou/etc/ImageMagick-7/), ajoutez dans la section<policymap>la ligne<policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />. Effet secondaire : WordPress ne générera plus de vignettes de PDF. - Limitez le nombre de fichiers par envoi et la fréquence des envois. Cela réduit le nombre de tentatives dont dispose un attaquant, mais ne corrige rien.
- Isolez la conversion de documents dans un service séparé, sans accès aux secrets du site ni connexions réseau inutiles. Cela limite les dégâts, mais ce n’est pas non plus un correctif.
Ce qu’il ne faut pas faire : ne considérez pas -dSAFER comme une protection. Le bac à sable de Ghostscript limite ce qu’un document peut faire avec les fonctions documentées de PostScript. Il n’empêche pas la corruption de mémoire, et lors des tests le bug s’est déclenché bac à sable activé. Aucune extension WordPress ne peut corriger cela, car Ghostscript provient du système d’exploitation ou de l’image du conteneur, pas de WordPress.
Ne confondez pas cette faille avec CVE-2026-65640. Il s’agit d’une autre affaire : exécution de code à distance dans WordPress via l’envoi d’un fichier PostScript, qui passe lui aussi par Imagick et Ghostscript, mais exige un compte autorisé à envoyer des fichiers (en général le rôle Auteur ou supérieur). Elle a été corrigée dans WordPress 7.0.4, avec des rétroportages jusqu’à la branche 4.7.
Ce n’est pas qu’un problème de WordPress
WordPress n’est qu’un des nombreux chemins par lesquels le PDF d’un inconnu peut atteindre Ghostscript. Il en va de même pour les systèmes de gestion documentaire, les serveurs d’impression, le traitement des factures, les générateurs d’aperçus, les passerelles de messagerie qui analysent les pièces jointes et les API de conversion de fichiers. La question est toujours la même : ce logiciel effectue-t-il le rendu de PDF venus de quelqu’un d’autre ?
Chercher le mot « Ghostscript » dans le code de votre propre application peut ne rien donner. Le plus souvent, ImageMagick ou une autre bibliothèque se trouve entre les deux, et c’est elle qui appelle Ghostscript.
Ce que cela signifie quand on envoie des PDF en ligne
Cette histoire a une autre facette, dont on parle moins. Un service « compresser un PDF », « PDF en image » ou « fusionner des PDF » dans le navigateur est exactement le type de serveur dont il est question plus haut : il accepte des fichiers d’inconnus et les fait passer par des outils qui les démontent et les remontent. Vous ne savez pas avec quoi ni dans quelle version votre document est traité, ni s’il y a eu une mise à jour après le 8 septembre. Vous savez en revanche que votre fichier se trouve, au moins un moment, sur la même machine que les fichiers de milliers d’autres personnes, dont certains peuvent être piégés.
Cela ne veut pas dire que tous les services en ligne sont des passoires. Cela veut dire qu’en envoyant un contrat, le scan d’une pièce d’identité ou des résultats médicaux, vous les confiez à un endroit dont vous ne pouvez pas vérifier la sécurité. Vous trouverez plus de détails dans l’article sur ce que deviennent vos données lors d’une conversion en ligne.
En toute honnêteté, le traitement local n’est pas immunisé par définition. Si vous compressez vous-même des PDF avec Ghostscript, mettez-le à jour vers la 10.08.0 ou plus récente. L’avantage du travail hors ligne est ailleurs : le document ne quitte jamais votre ordinateur, et c’est vous qui décidez quelle version du logiciel le traite, pas quelqu’un que vous n’avez jamais rencontré.
Si vous fusionnez, scindez, chiffrez ou convertissez régulièrement des PDF en Word, vous pouvez le faire sans les envoyer nulle part. PDF Manipulator est gratuit, fonctionne sous Windows et Linux, et chaque fichier reste sur votre ordinateur.


Sources
- Wordfence, Wordfence Argus Discovers Critical Vulnerability in Ghostscript (12/10/2026) — la description d’origine : chronologie du signalement, la chaîne dans WordPress, les tests sur 10 240 tentatives, tableau des paquets, recommandations
- BleepingComputer, Ghostscript flaw lets hackers hijack servers via PDF uploads (13/10/2026)
- Artifex, Ghostscript — notes de version — 10.08.0 du 8 septembre 2026
- CVE.org, CVE-2026-39919 et NIST, NVD
- Red Hat, CVE-2026-39919 — note Moderate (7,8), correctifs pour RHEL 8, 9 et 10
- Debian, Security Tracker : CVE-2026-39919 — état des paquets par version
- ImageMagick, Security Policy — syntaxe de
policy.xml - OpenCVE, CVE-2026-65640 — la faille WordPress apparentée, corrigée dans la 7.0.4
- Dr. Web, Ghostscript-Lücke: Präparierte PDFs gefährden WordPress-Server (13/10/2026, en allemand)


