CVE-2021-3712
تجاوزات قراءة المخزن المؤقت أثناء معالجة سلاسل ASN.1
- تم النشر
- 24/08/2021
- محدث
- 16/04/2026
- تخصيص CNA
- openssl
- الأدلة المرصودة
- 08/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:Hمرتفع · الثلاثين يومًا القادمة
- المئوية
- 98.9%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
تمثَّل سلاسل ASN.1 داخليًا داخل OpenSSL كبنية ASN1_STRING تحتوي على مخزن مؤقت يحمل بيانات السلسلة وحقلًا يحمل طول المخزن المؤقت. وهذا يتناقض مع سلاسل C العادية التي تمثَّل كمخزن مؤقت لبيانات السلسلة يُنهى ببايت NUL (0). على الرغم من أن هذا ليس شرطًا صارمًا، فإن سلاسل ASN.1 التي تُحلَّل باستخدام دوال "d2i" الخاصة بـ OpenSSL (ودوال تحليل مماثلة أخرى) وكذلك أي سلسلة عُيّنت قيمتها باستخدام دالة ASN1_STRING_set() ستنهي أيضًا مصفوفة البايتات في بنية ASN1_STRING ببايت NUL إضافي. ومع ذلك، فمن الممكن للتطبيقات أن تُنشئ مباشرةً بنى ASN1_STRING صالحة لا تُنهي مصفوفة البايتات ببايت NUL عبر تعيين حقلي "data" و"length" مباشرةً في مصفوفة ASN1_STRING. ويمكن أن يحدث هذا أيضًا باستخدام دالة ASN1_STRING_set0(). لقد تبيّن أن العديد من دوال OpenSSL التي تطبع بيانات ASN.1 تفترض أن مصفوفة بايتات ASN1_STRING ستُنهى ببايت NUL، حتى وإن لم يكن ذلك مضمونًا للسلاسل التي بُنيت مباشرةً. وحيثما يطلب تطبيق طباعة بنية ASN.1، وتحتوي تلك البنية على سلاسل ASN1_STRING بُنيت مباشرةً بواسطة التطبيق دون إنهاء حقل "data" ببايت NUL، يمكن أن يحدث تجاوز في قراءة المخزن المؤقت. ويمكن أن يحدث الأمر نفسه أيضًا أثناء معالجة قيود الأسماء (name constraints) للشهادات (على سبيل المثال إذا كانت الشهادة قد بُنيت مباشرةً بواسطة التطبيق بدلاً من تحميلها عبر دوال تحليل OpenSSL، وكانت الشهادة تحتوي على بنى ASN1_STRING غير مُنهاة ببايت NUL). ويمكن أن يحدث أيضًا في دوال X509_get1_email() وX509_REQ_get1_email() وX509_get1_ocsp(). إذا تمكن فاعل خبيث من جعل تطبيق ما يُنشئ مباشرةً سلسلة ASN1_STRING ثم يعالجها عبر إحدى دوال OpenSSL المتأثرة، فقد يُستغل هذا الأمر. وقد يؤدي ذلك إلى انهيار (مسببًا هجوم حرمان من الخدمة). كما قد يؤدي إلى كشف محتويات ذاكرة خاصة (مثل المفاتيح الخاصة أو نص عادي حساس). أُصلح في OpenSSL 1.1.1l (المتأثر 1.1.1-1.1.1k). أُصلح في OpenSSL 1.0.2za (المتأثر 1.0.2-1.0.2y).
المصادر
1خطوات جاهزة للإنتاج لمعالجة CVE لأداة openssl (https://nvd.nist.gov/vuln/detail/cve-2021-3712) على جهاز EOL CentOS7
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.