CVE-2025-40271
fs/proc: proc_readdir_de() में uaf ठीक करें
- प्रकाशित
- 6 दिस॰ 2025
- अद्यतन
- 5 अग॰ 2026
- सीएनए असाइन करना
- Linux
- साक्ष्य देखे गए
- 4 मई 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hकम · अगले 30 दिन
- प्रतिशत
- 38.7%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Linux कर्नेल में, निम्नलिखित भेद्यता को हल किया गया है: fs/proc: proc_readdir_de() में uaf को ठीक करें। Pde को rb_erase() के माध्यम से subdir rbtree से हटा दिया जाता है, लेकिन नोड को EMPTY सेट नहीं किया जाता है, जिसके परिणामस्वरूप uaf एक्सेस हो सकता है। हमें हटाए गए नोड को EMPTY सेट करने के लिए RB_CLEAR_NODE() का उपयोग करना चाहिए, फिर pde_subdir_next() NULL लौटाएगा जिससे uaf एक्सेस से बचा जा सके। हमें stress-ng परीक्षण के दौरान एक uaf समस्या मिली; getdent और tun टेस्टकेस को एक साथ चलाने की आवश्यकता है। समस्या के चरण इस प्रकार हैं: 1) /proc/pid/net/dev_snmp6/ डिर को ट्रैवर्स करने के लिए getdent का उपयोग करें, और वर्तमान pde tun3 है; 2) [समय विंडो] में netdevice tun3 और tun2 को unregister करें, और उन्हें rbtree से हटाएँ। पहले tun3 को हटाएँ, और फिर tun2 को हटाएँ। pde(tun2) slab में रिलीज़ हो जाएगा; 3) getdent प्रक्रिया जारी रखें, फिर pde_subdir_next() रिलीज़ किया गया pde(tun2) लौटाएगा, जिससे uaf एक्सेस होगा। CPU 0 | CPU 1 ------------------------------------------------------------------------- traverse dir /proc/pid/net/dev_snmp6/ | unregister_netdevice(tun->dev) //tun3 tun2 sys_getdents64() | iterate_dir() | proc_readdir() | proc_readdir_de() | snmp6_unregister_dev() pde_get(de); | proc_remove() read_unlock(&proc_subdir_lock); | remove_proc_subtree() | write_lock(&proc_subdir_lock); [time window] | rb_erase(&root->subdir_node, &parent->subdir); | write_unlock(&proc_subdir_lock); read_lock(&proc_subdir_lock); | next = pde_subdir_next(de); | pde_put(de); | de = next; //UAF | rbtree of dev_snmp6 | pde(tun3) / \ NULL pde(tun2)
स्रोत
3- CVE-2025-40271अनुसंधान
CVE-2025-40271 का तकनीकी विश्लेषण, Linux कर्नेल के /proc फाइल सिस्टम में एक महत्वपूर्ण Use-After-Free भेद्यता, जिसमें मूल कारण, पुनरुत्पादन चरण और पैच विवरण शामिल हैं।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।