
thumbler용 권고
thumbler 버전 1.1.2까지는 lib/thumbler.js의 thumbnail()에서 OS 명령 주입이 가능합니다. 이 패키지는 input, output, time, size 값을 단일 ffmpeg 명령 문자열로 결합한 뒤 child_process.exec()로 해당 문자열을 실행합니다. 이러한 값 중 하나를 제어할 수 있는 공격자는 셸 구문을 주입하고 임의의 명령을 실행할 수 있습니다.
| 제품 | 영향받는 버전 | 수정 버전 |
|---|---|---|
| thumbler | 1.1.2까지의 모든 버전 | 2026-03-24 기준 수정 버전 없음 |
CVE-2026-26833CWE-78 - OS 명령 주입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()에 전달하지 마십시오.