
هذا السكربت أداة آمنة وبسيطة تساعد مستخدمي الأنظمة والطلاب والمشرفين على التحقق مما إذا كان عميل SCP (Secure Copy) لديهم عرضة لثغرة CVE-2020-15778، وهي ثغرة حقن أوامر في OpenSSH SCP (الإصدارات ≤ 8.3p1).
CVE-2020-15778 هي ثغرة حقن أوامر اكتُشفت في أداة scp المقدمة من OpenSSH (الإصدارات ≤ 8.3p1). تسمح هذه المشكلة للمهاجم بتنفيذ أوامر عشوائية على نظام العميل إذا تم تمرير وسيط وجهة مهرّب (يحتوي على backticks) إلى scp.
يحتوي هذا المستودع على سكريبت آمن للكشف والمحاكاة مكتوب بلغة Bash. يساعد السكريبت المستخدمين ومدراء الأنظمة على:
scp على نظامهم قابلاً للثغرةفي OpenSSH scp، لا تقوم الإصدارات حتى 8.3p1 بتعقيم وسائط الوجهة بشكل صحيح قبل تمريرها إلى الصدفة (shell). وهذا يسمح للمهاجم باستخدام محارف وصفية (metacharacters) مثل backticks (`) لحقن أوامر عشوائية.
scp file.txt user@host:`touch /tmp/pwned`/file.txt
في إصدار SCP القابل للثغرة، سيؤدي هذا إلى تنفيذ touch /tmp/pwned على جهاز العميل عند تشغيل الأمر.
| إصدار SCP | الحالة |
|---|---|
| ≤ 8.3p1 | قابل للثغرة |
| ≥ 8.4p1 | غير قابل للثغرة |
يقوم سكريبت Bash هذا بالإجراءات التالية:
git clone https://github.com/drackyjr/CVE-2020-15778-SCP-Command-Injection-Check.git
cd scp-cve-2020-15778-checker
chmod +x scp_cve_check.sh
./scp_cve_check.sh