CVE-2026-74586
sctp: किसी पीयर को हटाते समय new_transport साफ़ करें
- प्रकाशित
- 22 अग॰ 2026
- अद्यतन
- 25 अग॰ 2026
- सीएनए असाइन करना
- Linux
- साक्ष्य देखे गए
- 9 सित॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hकम · अगले 30 दिन
- प्रतिशत
- 41.7%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
लिनक्स कर्नेल में, निम्नलिखित भेद्यता को हल किया गया है: sctp: किसी पीयर को हटाते समय new_transport को साफ़ करें sctp_process_asconf_param() नए जोड़े गए पीयर ट्रांसपोर्ट को asoc->new_transport में संग्रहीत करता है। ASCONF चंक में सभी पैरामीटर संसाधित होने के बाद, sctp_sf_do_asconf() इस पॉइंटर का उपयोग नए ट्रांसपोर्ट पर HEARTBEAT भेजने के लिए करता है। दूरस्थ SCTP पीयर से एक प्रमाणित ASCONF उसी चंक में वाइल्डकार्ड DEL-IP पैरामीटर के साथ एक ट्रांसपोर्ट जोड़ सकता है और उसे फिर से हटा सकता है। वाइल्डकार्ड विलोपन उस ट्रांसपोर्ट को संरक्षित करता है जिस पर ASCONF आया था, लेकिन sctp_assoc_del_nonprimary_peers() के माध्यम से नए जोड़े गए ट्रांसपोर्ट को हटा देता है। यह निष्कासन asoc->new_transport को साफ़ नहीं करता है, जिससे यह हटाए गए ट्रांसपोर्ट की ओर इशारा करता रहता है। sctp_sf_do_asconf() फिर एक HEARTBEAT बनाता है जिसका chunk->transport ट्रांसपोर्ट संदर्भ धारण किए बिना हटाए गए ट्रांसपोर्ट की ओर इशारा करता है। स्थानीय पते के प्रतिस्थापन के दौरान, src_out_of_asoc_ok इस HEARTBEAT को control_chunk_list पर रखता है। ट्रांसपोर्ट को RCU द्वारा मुक्त किए जाने के बाद, प्रतिस्थापन पते के लिए एक सफल ASCONF_ACK कतारबद्ध HEARTBEAT को जारी करता है और sctp_outq_select_transport() मुक्त किए गए ट्रांसपोर्ट की स्थिति को पढ़ता है। यह समस्या SCTP ऑब्जेक्ट्स के स्थिर ऑडिट के दौरान पाई गई थी। एक प्रमाणित पीयर के साथ, रिप्रोड्यूसर ने KASAN-सक्षम netdev/main कर्नेल पर 2 में से 2 अनपैच्ड रन में समान KASAN रिपोर्ट ट्रिगर की: BUG: KASAN: slab-use-after-free in sctp_outq_select_transport Read of size 4 at addr ffff88800b9bd95c by task python3/197 Call Trace: sctp_outq_select_transport+0x549/0x8b0 [sctp] sctp_outq_flush+0x306/0x2c60 [sctp] sctp_transport_immediate_rtx+0xaf/0x260 [sctp] sctp_process_asconf_ack+0xa48/0xf70 [sctp] Allocated by task 197: sctp_transport_new+0x68/0x650 [sctp] sctp_assoc_add_peer+0x258/0x12a0 [sctp] sctp_process_asconf+0x5e9/0x1090 [sctp] Last potentially related work creation: __call_rcu_common.constprop.0+0x77/0xb70 sctp_assoc_del_nonprimary_peers+0x7c/0xd0 [sctp] sctp_process_asconf+0xd9c/0x1090 [sctp] पहली अमान्य पहुंच net/sctp/outqueue.c:833 पर transport->state की चार-बाइट रीड थी। उसी रिप्रोड्यूसर ने इस परिवर्तन के साथ KASAN रिपोर्ट या oops के बिना पूर्ण प्रमाणित ASCONF और स्थानीय-पता प्रतिस्थापन अनुक्रम पूरा किया। जब इसका पीयर हटा दिया जाता है, तो HEARTBEAT बनाने के लिए उपयोग किए जाने से पहले new_transport को साफ़ करें।
स्रोत
1जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।