
Aviso para node-tesseract-ocr ⌯⌲ 50 000 descargas semanales
node-tesseract-ocr hasta la versión 2.2.1 permite la inyección de comandos del sistema operativo en recognize() en src/index.js. El paquete construye una cadena de comando de shell y la ejecuta con child_process.exec(). Debido a que la ruta de entrada solo se encierra entre comillas dobles, un atacante puede inyectar sintaxis de shell a través de una ruta de archivo manipulada.
| Producto | Versiones afectadas | Versión corregida |
|---|
| node-tesseract-ocr | todas las versiones hasta 2.2.1 | sin corrección disponible a fecha de 2026-03-24 |
CVE-2026-26832CWE-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:Hsrc/index.js, recognize()El patrón vulnerable es:
const command = [binary, inputOption, "stdout", ...options].join(" ");
exec(command, ...);
Esa cadena de comando hereda el análisis sintáctico del shell. Una ruta de archivo maliciosa puede escapar del argumento entre comillas.
Las aplicaciones que ejecutan OCR sobre imágenes proporcionadas por el usuario pueden exponer el sistema anfitrión a la ejecución de comandos si pasan rutas no confiables a recognize().
test.jpg"; touch /tmp/pwned; echo "x
No hay ninguna versión npm corregida disponible en el momento de redactar este documento.
Si todavía dependes de este paquete:
join(" ").execFile() o spawn() con argumentos explícitos.