
Aviso para thumbler
thumbler até a versão 1.1.2 permite injeção de comandos do sistema operacional em
thumbnail() em lib/thumbler.js. O pacote concatena os valores
input, output, time e size em uma única string de comando do
ffmpeg e executa essa string com child_process.exec().
Um atacante que controle um desses valores pode injetar sintaxe de shell
e executar comandos arbitrários.
| Produto | Versões afetadas | Versão corrigida |
|---|---|---|
| thumbler | todas as versões até 1.1.2 | nenhuma correção disponível até 2026-03-24 |
CVE-2026-26833CWE-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:Hlib/thumbler.js, thumbnail()O caminho de código vulnerável constrói a seguinte string de shell:
exec(
'ffmpeg -ss ' + time + ' -i "' + input + '" -vframes 1 -s ' +
size + ' "' + output + '"',
...
);
Como o comando é montado como uma string, cada campo controlado pelo atacante é um possível ponto de injeção.
Qualquer serviço que gere miniaturas a partir de mídia controlada pelo usuário pode acabar executando comandos no host ao chamar thumbnail().
require("thumbler").thumbnail(
'test.mp4"; id > /tmp/pwned; echo "',
"/tmp/out.jpg",
{},
() => {}
);
Nenhuma versão corrigida no npm está disponível no momento em que este texto foi escrito.
Se você ainda depende deste pacote:
thumbnail().