
Уведомление об уязвимости для thumbler
thumbler вплоть до версии 1.1.2 позволяет внедрение команд ОС в
thumbnail() в lib/thumbler.js. Пакет объединяет значения
input, output, time и size в одну строку команды ffmpeg
и выполняет эту строку через child_process.exec().
Злоумышленник, контролирующий одно из этих значений, может внедрить синтаксис оболочки
и выполнить произвольные команды.
| Product | Affected versions | Fixed version |
|---|---|---|
| thumbler | все версии вплоть до 1.1.2 | исправление отсутствует по состоянию на 2026-03-24 |
CVE-2026-26833CWE-78 - Внедрение команд ОС9.8 (Critical)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hlib/thumbler.js, thumbnail()Уязвимый путь кода формирует следующую строку оболочки:
exec(
'ffmpeg -ss ' + time + ' -i "' + input + '" -vframes 1 -s ' +
size + ' "' + output + '"',
...
);
Поскольку команда собирается как строка, каждое поле, контролируемое злоумышленником, является возможной точкой внедрения.
Любой сервис, который генерирует миниатюры из управляемых пользователем
медиафайлов, может в итоге выполнять команды на хосте при вызове thumbnail().
require("thumbler").thumbnail(
'test.mp4"; id > /tmp/pwned; echo "',
"/tmp/out.jpg",
{},
() => {}
);
На момент написания исправленного npm-релиза не существует.
Если вы по-прежнему зависите от этого пакета:
thumbnail().