
CVE-2020-1971 نص الفحص التلقائي والاستغلال عن بُعد. نص الفحص التلقائي المحلي والتصحيح.
CVE-2020-1971 سكريبت الفحص الآلي & الاستغلال عن بُعد. سكريبت الفحص المحلي الآلي والتصحيح.
5:03 مساءً
أقوم حاليًا بتطوير السكريبتات وآمل أن أنتهي من كل شيء بحلول الليلة. في الوقت الحالي، يحتوي هذا المستودع فقط على المصدر المعدل لـ OpenSLL 1.1.1i. أعمل حاليًا على سكريبت تصحيح التثبيت/التحديث.
5:50 مساءً
تم رفع سكريبت تثبيت لينكس Debian/Ubuntu. لإرشادات التثبيت، انظر "تثبيت لينكس"
6:40 مساءً
نوع X.509 GeneralName هو نوع عام لتمثيل أنواع مختلفة من الأسماء. أحد أنواع الأسماء هذه يُعرف باسم EDIPartyName. يوفر OpenSSL دالة GENERAL_NAME_cmp التي تقارن بين مثيلات مختلفة من GENERAL_NAME لمعرفة ما إذا كانت متساوية أم لا. تتصرف هذه الدالة بشكل غير صحيح عندما يحتوي كلا GENERAL_NAME على EDIPARTYNAME. قد يحدث إلغاء مرجع مؤشر فارغ (NULL) وتعطل مما يؤدي إلى هجوم محتمل لحجب الخدمة.
يستخدم OpenSSL نفسه دالة GENERAL_NAME_cmp لغرضين
مقارنة أسماء نقاط توزيع CRL بين CRL متاحة ونقطة توزيع CRL مضمنة في شهادة X509
عند التحقق من أن مُوقع رمز استجابة الطابع الزمني يطابق اسم سلطة الطابع الزمني (مكشوف عبر دوال API TS_RESP_verify_response و TS_RESP_verify_token)
إذا تمكن المهاجم من التحكم في كلا العنصرين اللذين تتم مقارنتهما، فيمكنه التسبب في تعطل. على سبيل المثال، إذا تمكن المهاجم من خداع عميل أو خادم لفحص شهادة ضارة مقابل CRL ضار، فقد يحدث ذلك.
لاحظ أن بعض التطبيقات تقوم تلقائيًا بتنزيل CRLs بناءً على عنوان URL مضمن في الشهادة. يحدث هذا الفحص قبل التحقق من التوقيعات على الشهادة و CRL. تدعم أدوات s_server و s_client و verify في OpenSSL الخيار "-crl_download" الذي ينفذ التنزيل التلقائي لـ CRL وقد تم إثبات أن هذا الهجوم يعمل ضد هذه الأدوات.
لاحظ أن خللًا غير مرتبط يعني أن الإصدارات المتأثرة من OpenSSL لا يمكنها تحليل أو بناء ترميزات صحيحة لـ EDIPARTYNAME. ومع ذلك، من الممكن بناء EDIPARTYNAME مشوهة يقبلها محلل OpenSSL وبالتالي إثارة هذا الهجوم.
جميع إصدارات OpenSSL 1.1.1 و 1.0.2 متأثرة بهذه المشكلة. إصدارات OpenSSL الأخرى غير مدعومة ولم يتم فحصها. تم الإصلاح في OpenSSL 1.1.1i (المتأثرة 1.1.1-1.1.1h). تم الإصلاح في OpenSSL 1.0.2x (المتأثرة 1.0.2-1.0.2w).
sudo chmod +x Linux_Patched_Install_From_Source_Script
تشغيل:
sudo ./Linux_Patched_Install_From_Source_Script
يستخدم OpenSSL "الأصلي" واجهات برمجة تطبيقات ويندوز مباشرة في وقت التشغيل. لبناء OpenSSL أصلي يمكنك استخدام:
Microsoft Visual C++ (MSVC) C compiler on the command line
أو
MinGW cross compiler run on the GNU-like development environment MSYS2 or run on Linux or Cygwin
يعتمد OpenSSL "المستضاف" على طبقة توافق POSIX خارجية للبناء (باستخدام شل ومترجم وأدوات GNU/Unix) وفي وقت التشغيل. لهذا الخيار، يمكنك استخدام Cygwin.
بالإضافة إلى المتطلبات والتعليمات المدرجة في INSTALL.md، هذه مطلوبة أيضًا:
Perl. Strawberry Perl، متاح من http://strawberryperl.com/ يرجى قراءة NOTES.PERL لمزيد من المعلومات، بما في ذلك استخدام CPAN. بديل هو ActiveState Perl، https://www.activestate.com/ActivePerl والذي قد تحتاج إلى بناء وحدة Perl Win32/Console.pm بشكل صريح عبر https://platform.activestate.com/ActiveState ثم تنزيلها.
Microsoft Visual C compiler.
Netwide Assembler (NASM)، متاح من https://www.nasm.us لاحظ أن NASM هو المُجمّع الوحيد المدعوم.
تثبيت Perl
تثبيت NASM
تأكد من وجود كل من Perl و NASM في %PATH%
استخدم موجه أوامر مطور Visual Studio بصلاحيات إدارية، مع اختيار أحد متغيراته حسب البنية المقصودة. أو قم بتشغيل "cmd" وتنفيذ "vcvarsall.bat" مع أحد الخيارات x86, x86_amd64, x86_arm, x86_arm64, amd64, amd64_x86, amd64_arm, أو amd64_arm64. هذا يُعد متغيرات البيئة اللازمة لـ nmake.exe, cl.exe, إلخ. انظر أيضًا https://docs.microsoft.com/cpp/build/building-on-the-command-line
من جذر دليل المصدر لـ OpenSSL، أدخل perl Configure VC-WIN32 إذا كنت تريد OpenSSL 32 بت أو perl Configure VC-WIN64A إذا كنت تريد OpenSSL 64 بت أو perl Configure للسماح لـ Configure بتحديد النظام الأساسي
nmake
nmake test
nmake install
للحصول على تعليمات التثبيت الكاملة، أو إذا حدث خطأ في أي مرحلة، تحقق من ملف INSTALL.md.
أدلة التثبيت الافتراضية مشتقة من متغيرات البيئة.
بالنسبة لـ VC-WIN32، الإعدادات الافتراضية التالية قيد الاستخدام:
PREFIX: %ProgramFiles(86)%\OpenSSL
OPENSSLDIR: %CommonProgramFiles(86)%\SSL
بالنسبة لـ VC-WIN64، الإعدادات الافتراضية التالية قيد الاستخدام:
PREFIX: %ProgramW6432%\OpenSSL
OPENSSLDIR: %CommonProgramW6432%\SSL
إذا لم تكن متغيرات البيئة هذه موجودة (على سبيل المثال في تثبيت Win32 خالص)، تُستخدم هذه البدائل:
PREFIX: %ProgramFiles%\OpenSSL
OPENSSLDIR: %CommonProgramFiles%\SSL
لاحظ أيضًا أن هذه الأدلة عادة ما تكون محمية ضد الكتابة، حتى إذا كان حسابك في مجموعة المسؤولين. لتجاوز ذلك، ابدأ موجه الأوامر بالضغط بزر الماوس الأيمن عليه واختيار "تشغيل كمسؤول" قبل تشغيل 'nmake install'. الحل الآخر هو، بالطبع، اختيار مجموعة مختلفة من الأدلة باستخدام --prefix و --openssldir أثناء التهيئة.
أهداف UWP تدعم فقط بناء المكتبات الثابتة والديناميكية.
يجب عليك تعريف نوع النظام الأساسي إلى "uwp" والهندسة المستهدفة عبر "vcvarsall.bat" قبل التجميع. على سبيل المثال، إذا كنت تريد بناء بنيات "arm64"، يجب تشغيل "vcvarsall.bat x86_arm64 uwp".
تم توفير المراجع لراحة القارئ للمساعدة في التمييز بين الثغرات.
https://www.debian.org/security/2020/dsa-4807FREEBSD:FreeBSD-SA-20:33URL
https://security.FreeBSD.org/advisories/FreeBSD-SA-20:33.openssl.asc