
Advisory for thumbler
thumbler संस्करण 1.1.2 तक lib/thumbler.js में thumbnail() में OS कमांड इंजेक्शन की अनुमति देता है। पैकेज input, output, time, और size मानों को एक एकल ffmpeg कमांड स्ट्रिंग में जोड़ता है और उस स्ट्रिंग को child_process.exec() के साथ निष्पादित करता है। एक हमलावर जो उन मानों में से किसी एक को नियंत्रित करता है, शेल सिंटैक्स इंजेक्ट कर सकता है और मनमाने कमांड चला सकता है।
| Product | Affected versions | Fixed version |
|---|---|---|
| thumbler | 1.1.2 तक के सभी संस्करण | 2026-03-24 तक कोई फिक्स उपलब्ध नहीं |
CVE-2026-26833CWE-78 - OS कमांड इंजेक्शन9.8 (गंभीर)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() में अविश्वसनीय डेटा पास न करें।