
Avis de sécurité pour pdf-image ⌯⌲ 10 000 téléchargements hebdomadaires
pdf-image jusqu'à la version 2.0.0 permet une injection de commandes système via l'argument pdfFilePath. Le paquet construit des chaînes de commandes shell avec util.format() et les exécute avec child_process.exec(). Si une application transmet un chemin de fichier contrôlé par un attaquant à PDFImage, les métacaractères shell présents dans ce chemin peuvent conduire à l'exécution arbitraire de commandes.
| Produit | Versions concernées | Version corrigée |
|---|
| pdf-image | toutes les versions jusqu'à 2.0.0 | aucun correctif disponible au 2026-03-24 |
CVE-2026-26830CWE-78 - Injection de commandes système9.8 (Critique)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hindex.jsLe chemin de code vulnérable passe par constructGetInfoCommand() et constructConvertCommandForPage(), qui interpolent tous deux le chemin du PDF dans une commande shell avant d'appeler child_process.exec().
Toute application qui accepte un chemin de PDF contrôlé par l'utilisateur et le transmet à pdf-image peut finir par exécuter des commandes shell fournies par l'attaquant sur le système hôte.
const { PDFImage } = require("pdf-image");
const pdfImage = new PDFImage('test.pdf"; touch /tmp/pwned; echo "');
pdfImage.getInfo();
Si la commande injectée s'exécute, le processus crée /tmp/pwned.
Aucune version npm corrigée n'est disponible au moment de la rédaction.
Si vous dépendez encore de ce paquet :
PDFImage.execFile() ou spawn() avec un tableau.