CVE-2026-89969 in Linuxالمعلومات

الملخص

بحسب VulDB • 16/09/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

nvmet-tcp: تصحيح الكتابة خارج الحدود (out-of-bounds write) عند استلام PDU طويل جداً

تقوم الدالة `nvmet_tcp_try_recv_pdu()` بقراءة رأس PDU في اتحاد ثابت الحجم بحجم 128 بايت (`queue->pdu`)، ثم تحسب طول الحمولة المتبقية كالتالي:

`queue->left = hdr->hlen - queue->offset + hdgst;`

ثم تقرأ عدد البايتات الإضافي هذا إلى `&queue->pdu + queue->offset`، دون التحقق أبداً من أن النتيجة لا تتجاوز حجم `sizeof(queue->pdu)`.

بنية البيانات `struct nvme_tcp_icreq_pdu` بحجم 128 بايت بالضبط، وهو نفس حجم الاتحاد. بمجرد التفاوض على ملخص الرأس (حيث تكون قيمة hdgst = 4)، يمر طلب ICReq الثاني بفحص `hlen == nvmet_tcp_pdu_size()` ولكنه ينتج عنه: `queue->left = 128 - 8 + 4 = 124`، مما يؤدي إلى كتابة البايتات من 8 حتى 132 في المخزن المؤقت بحجم 128 بايت — أي بعد انتهائه بـ 4 بايت، فوق `queue->hdr_digest` و `queue->data_digest`. هذه البايتات خاضعة لسيطرة المهاجم (حيث لا يحمل طلب ICReq ملخصاً)، ويتم رفض طلب ICReq المكرر لاحقاً فقط، وبعد حدوث تجاوز المخزن المؤقت. وبالتالي، يمكن لمضيف بعيد غير مصدق أن يفسد ذاكرة النواة المجاورة للمخزن المؤقت للاستقبال.

ارفض أي PDU يكون طوله المعلن سيؤدي إلى قراءة ما بعد نهاية `queue->pdu` قبل عملية الاستقبال الثانية.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

11/09/2026

إفشاء

16/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405791

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!