CVE-2025-69419
كتابة خارج الحدود في تحويل UTF-8 في دالة PKCS12_get_friendlyname()
- تم النشر
- 27/01/2026
- محدث
- 12/05/2026
- تخصيص CNA
- openssl
- الأدلة المرصودة
- 28/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:Nمنخفض · الثلاثين يومًا القادمة
- المئوية
- 46.0%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
ملخص المشكلة: استدعاء الدالة `PKCS12_get_friendlyname()` على ملف PKCS#12 مُصمم بشكل خبيث يحتوي على اسم وصفي (friendly name) من نوع BMPString (UTF-16BE) يتضمن نقطة رمزية (code point) غير ASCII من نوع BMP يمكن أن يؤدي إلى كتابة بايت واحد قبل المخزن المؤقت المخصص. ملخص التأثير: الكتابة خارج الحدود يمكن أن تسبب تلفًا في الذاكرة قد يترتب عليه عواقب متعددة بما في ذلك رفض الخدمة (Denial of Service). تقوم الدالة `OPENSSL_uni2utf8()` بتحويل من مرحلتين لسلسلة BMPString (UTF-16BE) من PKCS#12 إلى UTF-8. في المرحلة الثانية، عند إصدار بايتات UTF-8، تقوم الدالة المساعدة `bmp_to_utf8()` بتمرير العدد المتبقي من بايتات مصدر UTF-16 بشكل غير صحيح كسعة المخزن المؤقت الوجهة إلى `UTF8_putc()`. بالنسبة لنقاط BMP الرمزية الأعلى من U+07FF، يتطلب UTF-8 ثلاثة بايتات، لكن السعة المُمررة يمكن أن تكون بايتين فقط. عندها تُرجع `UTF8_putc()` القيمة -1، وتُضاف هذه القيمة السالبة إلى طول المخرجات دون تحقق، مما يتسبب في أن يصبح الطول سالبًا. ثم تتم كتابة بايت NUL اللاحق في إزاحة سالبة، مما يتسبب في كتابة خارج المخزن المؤقت المخصص في الكومة (heap). الثغرة قابلة للاستغلال عبر واجهة برمجة التطبيقات العامة `PKCS12_get_friendlyname()` عند تحليل ملفات PKCS#12 التي يتحكم فيها المهاجم. بينما تستخدم `PKCS12_parse()` مسارًا برمجيًا مختلفًا يتجنب هذه المشكلة، فإن `PKCS12_get_friendlyname()` تستدعي مباشرة الدالة المعرضة للخطر. يتطلب الاستغلال أن يقدم المهاجم ملف PKCS#12 خبيثًا ليتم تحليله بواسطة التطبيق، ويمكن للمهاجم فقط تشغيل كتابة بايت صفري واحد قبل المخزن المؤقت المخصص. لهذا السبب، تم تقييم المشكلة على أنها منخفضة الخطورة وفقًا لسياسة الأمان لدينا. وحدات FIPS في الإصدارات 3.6 و3.5 و3.4 و3.3 و3.0 غير متأثرة بهذه المشكلة، لأن تنفيذ PKCS#12 يقع خارج حدود وحدة OpenSSL FIPS. الإصدارات OpenSSL 3.6 و3.5 و3.4 و3.3 و3.0 و1.1.1 معرضة لهذه المشكلة. الإصدار OpenSSL 1.0.2 غير متأثر بهذه المشكلة.
المصادر
1مُعيد إنتاج إثبات المفهوم الأدنى لـ CVE-2025-69419، وهو تجاوز سعة مخزن مؤقت في الكومة في OpenSSL's PKCS12_get_friendlyname() الناتج عن سلسلة BMPString مصممة. مخصص لاختبار الانحدار والبحث الأمني.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.