هل تستخدم curl؟ يجب عليك التحديث الآن! الإصدار الجديد 7.71.0 يصلح اثنين من الخلل الخطير

متاح الان إصدار التحديث الجديد دو "cURL 7.71.0" ، حيث ركزوا على حل مشكلتين خطيرتين التي تسمح بالوصول إلى كلمات المرور وكذلك القدرة على الكتابة فوق الملفات. هذا هو سبب توجيه الدعوة للترقية إلى الإصدار الجديد.

لمن لا يعرفون هذه الأداة ، يجب أن يعرفوا ذلك يعمل على استقبال وإرسال البيانات عبر الشبكة ، يوفر القدرة على تكوين طلب بمرونة عن طريق تعيين معلمات مثل ملف تعريف الارتباط و user_agent والمحيل وأي عنوان آخر.

حليقة يدعم HTTP و HTTPS و HTTP / 2.0 و HTTP / 3 و SMTP و IMAP و POP3 و Telnet و FTP و LDAP و RTSP و RTMP وبروتوكولات الشبكة الأخرى. في الوقت نفسه ، تم إصدار تحديث موازٍ لمكتبة libcurl ، والذي يوفر واجهة برمجة تطبيقات لاستخدام جميع وظائف curl في برامج بلغات مثل C و Perl و PHP و Python.

التغييرات الرئيسية في cURL 7.71.0

هذا الإصدار الجديد هو تحديث وكما ذكرنا في البداية يأتي لحل مشكلتين هما:

  • الضعف CVE-2020-8177- يسمح هذا للمهاجم بالكتابة فوق ملف محلي على النظام عند الوصول إلى خادم هجوم محكوم. تظهر المشكلة فقط عند استخدام الخيارين "-J" ("– remote-header-name") و "-i" ("–head") في وقت واحد.

الخيار يسمح لك "-J" بحفظ الملف بالاسم المحدد في عنوان "Content-Disposition". سأنا موجود بالفعل ملف يحمل نفس الاسمالبرنامج حليقة يرفض عادة الكتابة، ولكن إذا كان الخيار "-I" موجود ، ويتم انتهاك منطق التحقق والكتابة عليه الملف (يتم التحقق في مرحلة استقبال نص الاستجابة ، ولكن مع خيار "-i" تخرج رؤوس HTTP أولاً ولديها وقت للاستمرار قبل معالجة نص الاستجابة). تتم كتابة رؤوس HTTP فقط في الملف.

  • ثغرة CVE-2020-8169: قد يتسبب هذا في حدوث تسرب في خادم DNS لبعض كلمات المرور للوصول إلى الموقع (Basic ، Digest ، NTLM ، إلخ).

عند استخدام الحرف "@" في كلمة المرور ، والذي يُستخدم أيضًا كمحدد لكلمة المرور في عنوان URL ، عند تشغيل إعادة توجيه HTTP ، سيرسل curl جزءًا من كلمة المرور بعد الحرف "@" مع النطاق لتحديد اسم.

على سبيل المثال ، إذا حددت كلمة المرور "passw @ passw" واسم المستخدم "user" ، فسيقوم curl بإنشاء عنوان URL "https: // user: passw @ passw @ example.com / path" بدلاً من "https: user: passw ٪ 40passw@example.com/path "وأرسل طلبًا لحل المضيف" pasww@example.com "بدلاً من" example.com ".

تتجلى المشكلة عند تمكين دعم معيدات التوجيه HTTP قريب (معطل من خلال CURLOPT_FOLLOWLOCATION).

في حالة استخدام DNS التقليدي ، يمكن لمزود DNS والمهاجم العثور على معلومات حول جزء من كلمة المرور، والتي يمكنها اعتراض حركة مرور شبكة النقل (حتى إذا تم تقديم الطلب الأصلي عبر HTTPS ، لأن حركة مرور DNS غير مشفرة). عند استخدام DNS عبر HTTPS (DoH) ، يقتصر التسرب على بيان DoH.

أخيرًا ، من التغييرات الأخرى التي تم دمجها في الإصدار الجديد إضافة خيار "–retry-all-errors" للمحاولات المتكررة لإجراء العمليات عند حدوث خطأ.

كيفية تثبيت cURL على Linux؟

بالنسبة لأولئك الذين يرغبون في التمكن من تثبيت هذا الإصدار الجديد من cURL يمكنهم القيام بذلك عن طريق تنزيل التعليمات البرمجية المصدر وتجميعها.

للقيام بذلك ، فإن أول شيء سنفعله هو تنزيل أحدث حزمة cURL بمساعدة محطة ، في ذلك لنكتب:

wget https://curl.haxx.se/download/curl-7.71.0.tar.xz

بعد ذلك ، سنقوم بفك ضغط الحزمة التي تم تنزيلها باستخدام:

tar -xzvf curl-7.71.0.tar.xz

ندخل إلى المجلد الذي تم إنشاؤه حديثًا باستخدام:

cd curl-7.71.0

ندخل كجذر مع:

sudo su

ونكتب ما يلي:

./configure --prefix=/usr \
--disable-static \
--enable-threaded-resolver \
--with-ca-path=/etc/ssl/certs &&
make
make install &&
rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.71.0 &&
cp -v -R docs/* /usr/share/doc/curl-7.71.0

أخيرًا يمكننا التحقق من الإصدار باستخدام:

curl --version

إذا كنت تريد معرفة المزيد عنها ، يمكنك استشارة الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.