
CVE-2026-64531 (OVSwrap) PoC - Linux kernel Open vSwitch LPE; for patch validation and security research
लिनक्स कर्नेल Open vSwitch मॉड्यूल स्थानीय विशेषाधिकार वृद्धि (सामान्य उपयोगकर्ता → root) PoC। 16-बिट nla_len फ़ील्ड के इंटीजर रैप-अराउंड का उपयोग करके सामान्य उपयोगकर्ता से root तक विशेषाधिकार वृद्धि की जाती है।
जब OVS द्वारा उत्पन्न नेस्टेड action स्ट्रीम 65535 बाइट्स से अधिक होती है, तो 16-बिट nla_len फ़ील्ड रैप हो जाता है। हमलावर को केवल निजी उपयोगकर्ता/नेटवर्क नेमस्पेस के भीतर CAP_NET_ADMIN रखने की आवश्यकता होती है, जिससे वह अत्यधिक लंबा CLONE action निर्मित कर सकता है, और कर्नेल पार्सर हमलावर-नियंत्रित conntrack डेटा में पहुँच जाता है, जिससे मनमाना कर्नेल रीड तथा शब्द-दर-शब्द घटाव (word-by-word decrement) प्रिमिटिव प्राप्त होते हैं, और अंततः अपनी क्रेडेंशियल्स में हेरफेर करके root तक विशेषाधिकार वृद्धि की जाती है।
यह बग 13 वर्षों से मौजूद एक असुरक्षित असाइनमेंट (commit 74f84a5726c7) से उत्पन्न हुआ है; यह पहले 32 KiB की कुल लंबाई सीमा द्वारा सुरक्षित था, लेकिन मार्च 2025 में commit a1e64addf3ff द्वारा सीमा हटाए जाने के बाद सक्रिय हो गया।
openvswitch मॉड्यूलunshare -Urn (प्रारंभिक नेमस्पेस अनुमतियों की आवश्यकता नहीं)6.13–6.17, 6.19 और 7.0 श्रृंखलाएँ पहले ही EOL हो चुकी हैं, कोई पैच उपलब्ध नहीं है।
unshare -Urn), sudo इंस्टॉल हो# 必须以普通(非 root)用户运行
python3 ovswrap-poc.py
स्क्रिप्ट स्वचालित रूप से unshare -Urn के माध्यम से निजी उपयोगकर्ता+नेटवर्क नेमस्पेस में प्रवेश करती है; इसमें लगभग 800 x86-64 कर्नेल बिल्ड के लिए पूर्व-व्युत्पन्न ऑफसेट तालिकाएँ अंतर्निहित हैं, और मिलान न मिलने पर System.map / BTF / pahole से गतिशील रूप से व्युत्पन्न करने का प्रयास करती है। सफलता पर /etc/sudoers.d/ में प्रविष्टि लिखकर बिना पासवर्ड के root शेल प्राप्त करती है।
केवल सुरक्षा अनुसंधान, भेद्यता सत्यापन और रक्षात्मक परीक्षण के लिए। यह PoC कर्नेल क्रेडेंशियल्स को भ्रष्ट करता है, sudoers फ़ाइल को संशोधित करता है, तथा ज़ोंबी प्रोसेस और क्षतिग्रस्त OVS स्थिति छोड़ता है; कृपया इसे केवल नष्ट करने योग्य वर्चुअल मशीन में चलाएँ, प्रोडक्शन या अनाधिकृत वातावरण में न चलाएँ।
3f1f755366687d051174739fb99f7d560202f60b| कर्नेल श्रृंखला | प्रभावित सीमा | पहला पैच संस्करण |
|---|
| 5.15.y | 5.15.180 – 5.15.211 | 5.15.212 |
| 6.1.y | 6.1.132 – 6.1.177 | 6.1.178 |
| 6.6.y | 6.6.84 – 6.6.144 | 6.6.145 |
| 6.12.y | 6.12.20 – 6.12.96 | 6.12.97 |
| 6.18.y | 6.18.0 – 6.18.39 | 6.18.40 |
| 7.1.y | 7.1.0 – 7.1.4 | 7.1.5 |