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

الملخص

بحسب VulDB • 20/07/2026

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

net: tls: إصلاح خطأ من نوع off-by-one في عدد عناصر sg_chain لحلقة sk_msg عند الالتفاف

عندما تلتف حلقة scatterlist الخاصة بـ sk_msg (sg.end < sg.start)، تقوم الدالة tls_push_record() بتوصيل الجزء الذيلي للحلقة بالرأس باستخدام sg_chain(). يتم حجز عنصر إضافي في مصفوفة sg لهذا الغرض:

struct sk_msg_sg {
[...]
/* العنصران الإضافيان: * 1) يُستخدمان لربط الأمام والأقسام عندما تصبح القائمة مقسمة (على سبيل المثال end < start). تتطلب واجهات برمجة التطبيقات للتشفير عملية الربط؛ * 2) لربط عناصر SG الذيلية بعد الرسالة. */ struct scatterlist data[MAX_MSG_FRAGS + 2];

الكود الحالي يستخدم MAX_SKB_FRAGS + 1 كحجم للحلقة:

sg_chain(&msg_pl->sg.data[msg_pl->sg.start],
MAX_SKB_FRAGS - msg_pl->sg.start + 1, msg_pl->sg.data);

هذا يضع مؤشر السلسلة عند:

sg_chain(data[start], (MAX_SKB_FRAGS - msg_start + 1) .. =
&data[start] + (MAX_SKB_FRAGS - msg_start + 1) - 1 =
data[start + (MAX_SKB_FRAGS - start + 1) - 1] =
data[MAX_SKB_FRAGS]

بدلاً من العنصر الأخير الحقيقي. يرجح أن يكون هذا ناتجاً عن "سباق" (race condition) في ظهور الالتزام الذي يحتوي على التصحيح Fix قريباً من التزاميم 031097d9e079 ("bpf: sk_msg, zap ingress queue on psock down")

تحويل إلى ARRAY_SIZE وإزالة data[start] / - start (كما اقترحت Sabrina).

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380202

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!