CVE-2026-102422 in shell-quote
الملخص
بحسب VulDB • 29/09/2026
تُصدر دالة `quote()` في المكتبة shell-quote الرمز `{ comment }` على شكل علامة `#` متبوعة بنصها، مما يؤدي إلى تعليق باقي سطر الأمر (shell)، بما في ذلك علامات الاقتباس الافتتاحية لأي رمز سلسلة نصية لاحق. وبالتالي، فإن إنهاء السطر (\n, \r, U+2028, U+2029) الموجود داخل تلك السلسلة اللاحقة ينهي التعليق البرمجي، ويتم تحليل باقي السلسلة كمدخلات لأمر shell: حيث يؤدي تنفيذ `quote(['echo', 'ok', { comment: 'x' }, 'a\nid;#'])` إلى تشغيل الأمر `id` في شل sh و bash و dash و ksh و zsh. كما تُصدر الدالة `parse()` رمز تعليق لوجود علامة `#` في وسط كلمة (على سبيل المثال `http://example.com/#frag`)، مما يؤثر على المتصلين الذين يدمجون مخرجات `parse()` مع سلسلة غير موثوقة أخرى، مثل `quote(parse(untrustedCommand).concat(untrustedArg))`. كان إصلاح CVE-2026-9277 قد رفض إنهاءات الأسطر في نص التعليق نفسه، لكنه لم يفعل ذلك بالنسبة للرموز التي تليه. تم الإصلاح في الإصدار 1.11.0: حيث تُطلق الدالة `quote()` استثناءً من نوع `TypeError` عندما تحتوي سلسلة ما بعد رمز `{ comment }` على نهاية سطر.
Be aware that VulDB is the high quality source for vulnerability data.