
إثبات المفهوم يوضح حقن أوامر نظام التشغيل في معالجة أوامر الخلفية SSH القديمة في Warp (CVE-2026-48732). يتضمن محاكاة محلية لبناء الأوامر الضعيفة والمصححة.
cwd عن بعد عبر SSH في Warpيُعد هذا المستودع إثبات المفهوم (PoC) للثغرة الأمنية عالية الخطورة CVE-2026-48732، وهي ثغرة من نوع حقن أوامر نظام التشغيل (OS Command Injection) موجودة في معالجة أوامر الخلفية التقليدية لـ SSH في تطبيق Warp.
في الإصدارات المتأثرة من Warp، كانت تُستخدم دليل العمل البعيد (cwd) المُبلَّغ عنه من جلسة SSH لبناء أوامر مساعدة. نظرًا لعدم الهروب من الاقتباسات المفردة (single quotes) الموجودة في هذا المسار، كان بإمكان المهاجم، من خلال مضيف بعيد أو مستودع أو اسم دليل يتحكم فيه، الخروج من وسيط cd المُحاط بعلامات اقتباس وتنفيذ بناء جملة شيل إضافية على المضيف البعيد بصلاحيات حساب SSH المُوثَّق للضحية.
المكتشف: saku0512 (GitHub)
يُقدم هذا المشروع لأغراض تعليمية واختبارات أمنية أخلاقية فقط.
المؤلف لا يتحمل أي مسؤولية عن سوء استخدام هذه الأداة أو الأضرار أو الأنشطة غير القانونية. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. باستخدام هذا البرنامج، فإنك توافق على استخدامه فقط في البيئات التي حصلت فيها على إذن صريح لإجراء اختبارات أمنية.
| الحقل | القيمة |
|---|---|
| CVE ID | CVE-2026-48732 |
| GHSA ID | GHSA-qqpc-wvvw-4269 |
| النوع | حقن أوامر نظام التشغيل (CWE-78) |
| التأثير | تنفيذ أوامر عن بعد على مضيف SSH المتصل |
| CVSS | 8.8 عالي (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) |
| الإصدارات المتأثرة | Warp >= v0.2023.03.21.08.02.stable_00 |
| الإصدارات المصححة | الإصدار v0.2026.05.06.15.42.stable_01 وما بعده |
في معالجة أوامر الخلفية الضعيفة لـ SSH، لم يتم الهروب من أحرف الاقتباس المفردة في المسار عند وضع دليل العمل البعيد بين علامات اقتباس مفردة.
command_str.push_str(&format!("cd '{current_directory_path}' && "));
على سبيل المثال، إذا كان current_directory_path يحتوي على قيمة مثل:
/tmp/warp-cve-2026-48732'; touch /tmp/warp_cve_2026_48732_confirmed; echo '
سيكون أمر الشيل الناتج كما يلي:
cd '/tmp/warp-cve-2026-48732'; touch /tmp/warp_cve_2026_48732_confirmed; echo '' && pwd
نتيجة لذلك، يتم تفسير أمر touch المُدرَج كأمر منفصل بواسطة الشيل.
في التصحيح، يتم الهروب من الاقتباسات المفردة المضمنة قبل وضع المسار في سياق شيل محاط بعلامات اقتباس مفردة.
تأكد من تثبيت Python 3. يقوم إثبات المفهوم هذا بمحاكاة بناء الأمر الضعيف محليًا ولا يتصل بـ Warp أو SSH.
python3 --version
شغّل البرنامج النصي المرفق.
python3 poc.py
يتضمن الإخراج المتوقع الأمر الضعيف الذي تم إنشاؤه ورسالة نجاح تشير إلى إنشاء ملف العلامة.
[!] SUCCESS: /tmp/warp_cve_2026_48732_confirmed was created.
تحقق من ملف العلامة للتحقق من تنفيذ الأمر بنجاح.
ls -l /tmp/warp_cve_2026_48732_confirmed
إذا كان الملف موجودًا، فهذا يعني أن سلوك حقن الأوامر قد تم تأكيده في المحاكاة المحلية.
بعد التحقق، قم بحذف ملف العلامة.
rm -f /tmp/warp_cve_2026_48732_confirmed
شغّل أداة بناء الأوامر المُصحَّحة.
python3 poc.py --mode fixed
في المحاكاة المُصحَّحة، يتم الهروب من الاقتباسات المفردة المضمنة، لذا لا ينبغي إنشاء ملف العلامة.
قم بتحديث Warp إلى الإصدار المُصحَّح فورًا.
في هذا التصحيح، يتم الهروب من الاقتباسات المفردة المضمنة في المسار البعيد قبل بناء أوامر مساعدة SSH القديمة. يمنع هذا نصوص المسار التي يتحكم فيها المهاجم من الخروج من وسيط الشيل المحاط بعلامات اقتباس.