CVE-2026-31694
fuse: पेज कैश में अत्यधिक आकार वाले dirents को अस्वीकार करें
- प्रकाशित
- 1 मई 2026
- अद्यतन
- 15 अक्टू॰ 2026
- सीएनए असाइन करना
- Linux
- साक्ष्य देखे गए
- 8 अग॰ 2026
fuse: पेज कैश में अत्यधिक आकार वाले dirents को अस्वीकार करें
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hकम · अगले 30 दिन
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
Linux कर्नेल में निम्नलिखित भेद्यता का समाधान कर दिया गया है: fuse: पेज कैश में अत्यधिक बड़े dirents को अस्वीकार करें fuse_add_dirent_to_cache() सर्वर-नियंत्रित namelen फ़ील्ड से एक सीरियलाइज़्ड dirent आकार की गणना करता है और dirent को एक एकल page-cache पेज में कॉपी करता है। मौजूदा तर्क केवल यह जाँचता है कि dirent वर्तमान पेज की शेष जगह में फिट बैठता है या नहीं, और यदि फिट नहीं बैठता है तो एक नए पेज पर आगे बढ़ जाता है। यह कभी जाँच नहीं करता कि dirent स्वयं PAGE_SIZE से अधिक है या नहीं। परिणामस्वरूप, एक दुर्भावनापूर्ण FUSE सर्वर namelen=4095 के साथ एक dirent लौटा सकता है, जिससे सीरियलाइज़्ड रिकॉर्ड का आकार 4120 बाइट्स बन जाता है। 4 KiB पेज सिस्टम पर यह memcpy() को कैश पेज से 24 बाइट्स आगे, अगले कर्नेल पेज में ओवरफ्लो करने का कारण बनता है। उन dirents को रीडडायर कैश (readdir cache) में कॉपी करने से पहले अस्वीकार करें जो एक ही पेज में फिट नहीं हो सकते।
लिनक्स कर्नेल FUSE readdir कैश आउट-ऑफ-बाउंड राइट (CVE-2026-31694): एक दुर्भावनापूर्ण FUSE सर्वर 24 बाइट्स द्वारा पेज-कैश पेज को ओवरफ्लो करता है। PoC के साथ-साथ /etc/passwd पेज-कैश भ्रष्टाचार के माध्यम से एक अविशेषाधिकार प्राप्त स्थानीय-रूट शोषण। केवल VM के अंदर चलाएँ।
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।