
Aviso para pdf-image ⌯⌲ 10 000 downloads semanais
pdf-image até a versão 2.0.0 permite injeção de comandos do sistema operacional por meio do argumento pdfFilePath. O pacote constrói strings de comando shell com util.format() e as executa com child_process.exec(). Se uma aplicação passar um caminho de arquivo controlado pelo atacante para PDFImage, metacaracteres de shell nesse caminho podem levar à execução arbitrária de comandos.
| Produto | Versões afetadas | Versão corrigida |
|---|
| pdf-image | todas as versões até 2.0.0 | nenhuma correção disponível até 2026-03-24 |
CVE-2026-26830CWE-78 - Injeção de comandos do sistema operacional9.8 (Crítico)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hindex.jsO caminho de código vulnerável alcança constructGetInfoCommand() e constructConvertCommandForPage(), ambos interpolam o caminho do PDF em um comando shell antes de chamar child_process.exec().
Qualquer aplicação que aceite um caminho de PDF controlado pelo usuário e o passe para pdf-image pode acabar executando comandos shell fornecidos pelo atacante no sistema host.
const { PDFImage } = require("pdf-image");
const pdfImage = new PDFImage('test.pdf"; touch /tmp/pwned; echo "');
pdfImage.getInfo();
Se o comando injetado for executado, o processo criará /tmp/pwned.
Nenhuma versão corrigida do npm está disponível no momento em que este texto foi escrito.
Se você ainda depende deste pacote:
PDFImage.execFile() ou spawn() com um array.