TL ؛ DR ؛
في الآونة الأخيرة (منذ عام 1983 تقريبًا) ، اتضح أن OpenSSH ، كخليفة لـ rsh ، للأمر scp (على سبيل المثال Rcp) يسمح
للخادم باختيار أي ملف وأي معلمات يتم نقلها إليك. وتسمح لك نقاط ضعف الإخراج بإخفاء الملف الذي تم نقله إليك.
أي أنك تسأل file.txt ، لكنك تحصل على - exploit.bin
وليس هناك إصلاحات حتى الآن ، هذه هي الأشياء. استخدم sftp أو rsync.
التفاصيل
CVE-2019-6109
لا يبحث عميل scp عن الأحرف الإضافية في اسم الملف ، مما يسمح لك بإخفاء الاسم الحقيقي للملف المنقول (على سبيل المثال ، رموز ASCII)
CVE-2019-6110
يتيح لك عميل scp الكتابة إلى stderr وإعادة كتابة البيانات في الجهاز الطرفي ، مما يسمح لك بإخفاء الاسم الحقيقي للملف المنقول (على سبيل المثال ، رموز ASCII).
CVE-2019-6111
لا يتحقق عميل scp من الملف الذي يتم إرساله إليه ولا يقارنه بما طلب. يمكن لخادم ضار ملء العميل بكل ما يريد ، وبأي وضع.
مثال العمل
$ rm -rf * $ ls -la 36 drwxr-xr-x 2 user user 4096 25 15:11 . drwx------ 99 user user 28672 25 14:23 .. $ scp test@localhost:x.txt . x.txt 100% 32 0.3KB/s 00:00 $ ./exploit.sh # ?! You're hacked. Sorry for that Please upgrade your OpenSSH client $
في هذا المثال (استغلال قليل التعديل من الرابط أعلاه) ، يتم تحميل ملف exploit.sh بأذونات 755 بـ x.txt ، وبمساعدة البيانات المهملة ، يتم مسح حقيقة النقل نفسها.
العملاء الضعفاء
باختصار ، هذا كل شيء. OpenSSH بما في ذلك 7.9p1 ، المعجون ، winscp <5.13.
يحتوي WinSCP فقط على إصلاحات (5.14+)
استخدم sftp / rsync عند العمل مع خوادم غير موثوق بها.