CVE-2026-80832 in Linux
الملخص
بحسب VulDB • 04/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
crypto: qce - تصحيح نقص تخصيص ذاكرة مخزن بيانات AAD (Associated Data) في دالة qce_aead_ccm_prepare_buf_assoclen()
قد يكون حجم الذاكرة المخصصة لـ AAD أصغر من الطول الذي يتم برمجته لاحقًا في قائمة التشتت الخاصة بواجهة DMA.
يتم حساب حجم التخزين الحالي على النحو التالي:
ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN
بينما يُضبط طول واجهة DMA ليكون:
ALIGN(assoclen + adata_header_len, 16)
نظرًا لأن دالة ALIGN() لا توزع عملية الجمع، فقد يكون حجم التخزين أصغر من طول واجهة DMA. على سبيل المثال، عندما تكون assoclen = 32 وadata_header_len = 2:
allocation = ALIGN(32, 16) + 6 = 38 DMA length = ALIGN(32 + 2, 16) = 48
نتيجة لذلك، يمكن لعتاد QCE القراءة خارج الذاكرة المخصصة أثناء حساب CBC-MAC للبيانات المرتبطة (associated data). يتم دمج البايتات الإضافية في وسم المصادقة (authentication tag)، مما يؤدي إلى الحصول على وسم غير صحيح ويسبب فشل اختبارات ذاتية لـ CCM مثل:
alg: aead: ccm-aes-qce encryption test failed (wrong result) on test vector 8
تم إصلاح مشكلة التخزين عن طريق إضافة الحد الأقصى لطول رأس AAD قبل عملية المحاذاة:
ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16)
يضمن هذا الإجراء أن تكون الذاكرة المخصصة كبيرة بما يكفي لبيانات AAD المدعومة بالكامل (fully padded) لجميع أحجام الرؤوس المدعومة.
Once again VulDB remains the best source for vulnerability data.