
تقوم الدالة ASN1_STRING_set() بأخذ طول من النوع `int`، تأكد من عدم اقتطاع الوسيط عن غير قصد عند استدعائه من asn1_ex_c2i().
يعالج التصحيح مشكلة اقتطاع الأعداد الصحيحة في كود فك الترميز ASN.1/DER الخاص بـ OpenSSL.
تم إجراء التغييرات التالية:
تحديث نوع طول محتوى ASN.1
len الخاص بـ asn1_ex_c2i() من int إلى long.إضافة التحقق من اقتطاع الطول
ilen للاحتفاظ بالتمثيل int للقيمة len.long يمكن أن يتسع بأمان داخل int.TOO_LONG بدلاً من المتابعة بطول مقتطع غير صحيح.تحديث معالجة التحويل الأولي
prim_c2i() إلا عندما يمكن تمثيل الطول بأمان كـ int.int.تحديث تحويل كائن ASN.1
ossl_c2i_ASN1_OBJECT().تحديث معالجة سلاسل ASN.1
ASN1_STRING_set0() و ASN1_STRING_set() لاستخدام قيمة ilen التي تم التحقق منها بدلاً من القيمة الأصلية len التي قد تكون مفرطة الحجم.تمنع هذه التغييرات طول ASN.1 الذي يتحكم فيه المهاجم وأكبر من نطاق int المدعوم من أن يُقتطع بصمت ثم يُستخدم لاحقًا في عمليات المخزن المؤقت. يمنع ذلك حسابات الطول غير الصحيحة ويخفف من حالة القراءة الزائدة في مخزن الكومة المرتبطة بـ CVE-2026-34180.