
Aviso para pdf-image ⌯⌲ 10 000 descargas semanales
pdf-image a través de la versión 2.0.0 permite la inyección de comandos del sistema operativo mediante
el argumento pdfFilePath. El paquete construye cadenas de comandos shell con util.format() y las ejecuta
con child_process.exec(). Si una aplicación pasa una ruta de archivo controlada por el atacante a PDFImage,
los metacaracteres de shell en esa ruta pueden conducir a la ejecución arbitraria de comandos.
| Producto | Versiones afectadas | Versión corregida |
|---|---|---|
| pdf-image | todas las versiones hasta 2.0.0 | sin corrección disponible a fecha de 2026-03-24 |
CVE-2026-26830CWE-78 - Inyección de comandos del sistema operativo9.8 (Crítico)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hindex.jsLa ruta de código vulnerable llega a constructGetInfoCommand() y
constructConvertCommandForPage(), ambas interpolan la ruta del PDF
en un comando shell antes de llamar a child_process.exec().
Cualquier aplicación que acepte una ruta de PDF controlada por el usuario y la pase
a pdf-image puede terminar ejecutando comandos shell proporcionados por el atacante
en el sistema host.
const { PDFImage } = require("pdf-image");
const pdfImage = new PDFImage('test.pdf"; touch /tmp/pwned; echo "');
pdfImage.getInfo();
Si el comando inyectado se ejecuta, el proceso crea /tmp/pwned.
No hay una versión npm corregida disponible al momento de escribir esto.
Si todavía dependes de este paquete:
PDFImage.execFile() o spawn() con un array.