
Advisory per node-tesseract-ocr ⌯⌲ 50 000 download settimanali
node-tesseract-ocr fino alla versione 2.2.1 consente l'iniezione di comandi del sistema operativo in recognize() in src/index.js. Il pacchetto costruisce una stringa di comando shell e la esegue con child_process.exec(). Poiché il percorso di input è racchiuso solo tra doppi apici, un attaccante può iniettare sintassi shell tramite un percorso di file appositamente creato.
| Prodotto | Versioni interessate | Versione corretta |
|---|---|---|
| node-tesseract-ocr | tutte le versioni fino alla 2.2.1 | nessuna correzione disponibile al 2026-03-24 |
CVE-2026-26832CWE-78 - Iniezione di comandi del sistema operativo9.8 (Critico)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsrc/index.js, recognize()Il pattern vulnerabile è:
const command = [binary, inputOption, "stdout", ...options].join(" ");
exec(command, ...);
Quella stringa di comando eredita l'interpretazione della shell. Un percorso di file dannoso può fuoriuscire dall'argomento tra virgolette.
Le applicazioni che eseguono OCR su immagini fornite dagli utenti possono esporre il sistema host all'esecuzione di comandi se passano percorsi non attendibili a recognize().
test.jpg"; touch /tmp/pwned; echo "x
Nessuna release npm corretta è disponibile al momento della stesura.
Se dipendi ancora da questo pacchetto:
join(" ").execFile() o spawn() con argomenti espliciti.