
Aviso para thumbler
thumbler hasta la versión 1.1.2 permite la inyección de comandos del sistema operativo en thumbnail() en lib/thumbler.js. El paquete concatena los valores input, output, time y size en una única cadena de comandos ffmpeg y ejecuta esa cadena con child_process.exec(). Un atacante que controle uno de esos valores puede inyectar sintaxis de shell y ejecutar comandos arbitrarios.
| Producto | Versiones afectadas | Versión corregida |
|---|---|---|
| thumbler | todas las versiones hasta 1.1.2 | sin corrección disponible a fecha de 2026-03-24 |
CVE-2026-26833CWE-78 - Inyección de comandos del sistema operativo9.8 (Crítica)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hlib/thumbler.js, thumbnail()La ruta de código vulnerable construye la siguiente cadena de shell:
exec(
'ffmpeg -ss ' + time + ' -i "' + input + '" -vframes 1 -s ' +
size + ' "' + output + '"',
...
);
Debido a que el comando se ensambla como una cadena, cada campo controlado por el atacante es un posible punto de inyección.
Cualquier servicio que genere miniaturas a partir de medios controlados por el usuario puede terminar ejecutando comandos en el host al llamar a thumbnail().
require("thumbler").thumbnail(
'test.mp4"; id > /tmp/pwned; echo "',
"/tmp/out.jpg",
{},
() => {}
);
No hay ninguna versión npm corregida disponible al momento de escribir este documento.
Si todavía dependes de este paquete:
thumbnail().