
إرشاد لـ thumbler
يسمح thumbler حتى الإصدار 1.1.2 بحقن أوامر نظام التشغيل في الدالة thumbnail() داخل lib/thumbler.js. تقوم الحزمة بتسلسل القيم input وoutput وtime وsize في سلسلة أوامر ffmpeg واحدة ثم تنفيذها عبر child_process.exec(). يمكن للمهاجم الذي يتحكم في إحدى هذه القيم حقن صيغة أوامر الصدفة وتشغيل أوامر عشوائية.
| المنتج | الإصدارات المتأثرة | الإصدار المُصحَّح |
|---|---|---|
| thumbler | جميع الإصدارات حتى 1.1.2 | لا يوجد إصلاح متاح حتى 2026-03-24 |
CVE-2026-26833CWE-78 - حقن أوامر نظام التشغيل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().