CVE-2026-64439 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
crypto: krb5 - تصفية تطبيقات aead غير المتزامنة (async) عند التخصيص
تقوم الدوال `krb5_aead_encrypt()` و`krb5_aead_decrypt()` الموجودة في ملف `rfc3961_simplified.c`، والدالتان `rfc8009_encrypt()` و`rfc8009_decrypt()` الموجودتان في ملف `rfc8009_aes2.c` بتعيين مؤشر استدعاء إكمال (completion callback) بقيمة NULL، وتعامل أي قيمة سلبية تُرجع من دوال `crypto_aead_{encrypt,decrypt}()` على أنها نهاية للتنفيذ، مما يؤدي إلى الانتقال مباشرةً إلى استدعاء `kfree_sensitive(buffer)` لتحرير الذاكرة. وعندما يحل اسم التشفير (`encrypt_name`) محل مثيل aead غير متزامن (async AEAD instance)، تعود الطلبية بقيمة `-EINPROGRESS`، ويتم تحرير المخزن المؤقت بينما لا يزال عامل الخلفية (backend's worker) يحتفظ بمؤشر إليه، مما يؤدي إلى أن يحاول العامل فك تشريح الذاكرة المحررة من نوع slab عند اكتمال العملية.
تقرير KASAN تحت بيئة UML+SLUB مع واجهة aead غير متزامنة اصطناعية مرتبطة باسم `krb5->encrypt_name`:
BUG: KASAN: slab-use-after-free in t5_stub_complete+0x7d/0xc7
تم كتابة هذه الدوال المساعدة (helpers) بشكل متزامن، لذا تم تصفية المثيلات غير المتزامنة عند وقت التخصيص بدلاً من تمرير `crypto_wait_req()` عبر كل موقع استدعاء.
يمكن الوصول إلى هذا الجزء عبر الملفات: `net/rxrpc/rxgk.c` و`fs/afs/cm_security.c` و`net/ceph/crypto.c` على الأنظمة التي تحتوي على مزود aead غير متزامن (async AEAD provider) مرتبط باسم نوع تشفير krb5.
If you want to get best quality of vulnerability data, you may have to visit VulDB.