
Advisory para node-tesseract-ocr ⌯⌲ 50 000 downloads semanais
node-tesseract-ocr até a versão 2.2.1 permite injeção de comandos
do SO em recognize() em src/index.js. O pacote monta uma string de
comando do shell e a executa com child_process.exec(). Como o caminho
de entrada só é envolvido por aspas duplas, um atacante pode injetar
sintaxe de shell por meio de um caminho de arquivo malicioso.
| Produto | Versões afetadas | Versão corrigida |
|---|---|---|
| node-tesseract-ocr | todas as versões até 2.2.1 | nenhuma correção disponível até 2026-03-24 |
CVE-2026-26832CWE-78 - Injeção de comandos do SO9.8 (Crítico)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsrc/index.js, recognize()O padrão vulnerável é:
const command = [binary, inputOption, "stdout", ...options].join(" ");
exec(command, ...);
Essa string de comando herda a interpretação do shell. Um caminho de arquivo malicioso pode escapar do argumento entre aspas.
Aplicações que executam OCR em imagens fornecidas pelo usuário podem
expor o sistema host à execução de comandos se passarem caminhos não
confiáveis para recognize().
test.jpg"; touch /tmp/pwned; echo "x
Nenhuma versão corrigida no npm está disponível no momento da redação.
Se você ainda depende deste pacote:
join(" ").execFile() ou spawn() com argumentos explícitos.