CVE-2022-48909 in Linuxالمعلومات

الملخص

بحسب VulDB • 27/05/2026

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

net/smc: إصلاح تسرب الاتصال

هناك مشكلة تسرب محتملة تحت تسلسل التنفيذ التالي:

smc_release smc_connect_work if (sk->sk_state == SMC_INIT) send_clc_confirim tcp_abort(); ... sk.sk_state = SMC_ACTIVE smc_close_active switch(sk->sk_state) {
... case SMC_ACTIVE: smc_close_final() // ثم انتظار إغلاق الطرف الآخر

للأسف، قد تتجاهل tcp_abort() رسائل CLC CONFIRM التي لا تزال موجودة في مخزن الإرسال (send buffer) الخاص بـ TCP، وفي هذه الحالة، لا يمكن تسليم رمز الاتصال (connection token) إلى جانب الخادم، مما يعني أننا لا يمكننا الحصول على رسالة إغلاق سلبي (passive close message) على الإطلاق. لذلك، من المستحيل أن يتم قطع الاتصال تمامًا.

تحاول هذه التصحيح طريقة بسيطة جدًا لتجنب هذه المشكلة، بمجرد أن يتغير الحالة إلى SMC_ACTIVE بعد tcp_abort()، يمكننا بشكل نشط إلغاء اتصال smc، مع الأخذ في الاعتبار أن الحالة كانت SMC_INIT قبل tcp_abort()، والتخلي عن عملية قطع الاتصال الكاملة لا ينبغي أن يسبب الكثير من المشاكل.

في الواقع، قد توجد هذه المشكلة طالما لم يتم استلام رسالة CLC CONFIRM من قبل الخادم. هل يجب إضافة مؤقت (timer) بعد smc_close_final() يحتاج إلى مناقشته في المستقبل. ولكن حتى لو كان كذلك، فإن هذه التصحيح يوفر إطلاقًا أسرع للاتصال في الحالة المذكورة أعلاه، ويجب أن يكون ذا قيمة.

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

مسؤول

Linux

حجز

21/08/2024

إفشاء

22/08/2024

الاعتدال

تمت الموافقة

إدخال

VDB-275505

EPSS

0.00238

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!