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

الملخص

بحسب VulDB • 15/08/2026

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

scsi: libiscsi_tcp: ربط جزء بيانات استجابة SCSI بذاكرة التخزين المؤقت للاتصال (connection buffer)

تستقبل الدالة iscsi_tcp_hdr_dissect() جزء البيانات لأنواع متعددة من وحدات نقل البيانات (PDUs) في ذاكرة التخزين المؤقت الثابتة الحجم conn->data، والتي تم تخصيصها لطول ISCSI_DEF_MAX_RECV_SEG_LEN (8192) بايت. بالنسبة لرموز العمليات LOGIN_RSP وTEXT_RSP وREJECT وASYNC_EVENT، فإن مسار التحليل (dissect path) يرفض بالفعل وحدة نقل البيانات التي يتجاوز طول جزء بياناتها هذا الحد المحدد للذاكرة المؤقتة.

مسار استجابة أمر SCSI (ISCSI_OP_SCSI_CMD_RSP) ينسخ أيضًا جزء البيانات الخاص به (بيانات الاستشعار/الاستجابة) إلى conn->data عبر الدالة iscsi_tcp_data_recv_prep()، لكنه يفعل ذلك دون إجراء نفس الفحص. الحد الوحيد الساري في الاتجاه التصاعدي على in.datalen هو conn->max_recv_dlength، وهو MaxRecvDataSegmentLength الذي يعلنه المبادر (initiator)، والذي يتم التفاوض عليه عادةً فوق قيمة 8192 بكثير (حيث تكون القيمة الافتراضية لـ open-iscsi هي 262144). وبالتالي، فإن الهدف المستجيب الذي يعيد استجابة SCSI بطول جزء بيانات يتراوح بين 8193 وmax_recv_dlength يؤدي إلى تجاوز سعة ذاكرة conn->data المؤقتة ذات الحجم 8192 بايت.

بمجرد تطبيق نفس الحد، يتم التعامل مع ISCSI_OP_SCSI_CMD_RSP تمامًا كما هو الحال في تلك الاستجابات الأخرى: ربط جزء البيانات، واستقباله في conn->data عند وجوده، وإلا إكمال وحدة نقل البيانات دون بيانات. تم دمج رمز العملية (opcode) ضمن مجموعة الحالات هذه بدلاً من تكرار الفحص.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

المصادر

Do you know our Splunk app?

Download it now for free!