
2017 से सभी प्रमुख वितरणों पर विश्वसनीय रूट एक्सेस के लिए दो पेज-कैश राइट प्रिमिटिव (xfrm/ESP और RxRPC) को श्रृंखलित करने वाला नियतात्मक लिनक्स कर्नेल स्थानीय विशेषाधिकार वृद्धि शोषण।
यूनिवर्सल लिनक्स कर्नेल स्थानीय विशेषाधिकार वृद्धि
| क्षेत्र | विवरण |
|---|---|
| CVE | CVE-2026-43284 (xfrm/ESP) + CVE-2026-43500 (RxRPC) |
| उपनाम | Dirty Frag |
| CVSS | 7.8 HIGH |
| प्रकार | स्थानीय विशेषाधिकार वृद्धि (LPE) |
| परिचय | Linux kernel 4.10 (2017, commit cac2661c53f3) |
| समाधान | Mainline commits f4c50a4034e6 / aa54b1d27fe0 |
| आवश्यकता | स्थानीय अविशेषाधिकार प्राप्त शेल पहुंच |
| दूरस्थ वेक्टर | कोई नहीं — केवल स्थानीय |
| प्रकटीकरण | 7 मई, 2026 Hyunwoo Kim (@v4bel) द्वारा |
लिनक्स कर्नेल के xfrm/ESP और RxRPC उपतंत्रों में एक तार्किक दोष एक अविशेषाधिकार प्राप्त स्थानीय उपयोगकर्ता को सिस्टम पर किसी भी पढ़ने योग्य फ़ाइल के पेज कैश में एक नियति, नियंत्रित मनमाना लेखन करने की अनुमति देता है — जिसमें setuid बाइनरी जैसे /usr/bin/su शामिल हैं।
मूल कारण साझा सॉकेट बफ़र (skb) टुकड़ों का असुरक्षित इन-प्लेस डिक्रिप्शन है जो पेज कैश पृष्ठों को संदर्भित करते हैं, विशेष रूप से splice(2) या sendfile(2) का उपयोग करते समय। यह एक शक्तिशाली मनमाना पेज कैश लेखन प्रिमिटिव प्रदान करता है, जिसका उपयोग मेमोरी में संवेदनशील फ़ाइलों को अधिलेखित करने और पूर्ण रूट पहुंच प्राप्त करने के लिए किया जा सकता है।
सार्वभौमिक कवरेज प्राप्त करने के लिए दो अलग-अलग प्रिमिटिव श्रृंखलित किए गए हैं:
xfrm-ESP Page-Cache Write: Copy Fail के समान सिंक साझा करता है लेकिन esp4/esp6 मॉड्यूल के माध्यम से ट्रिगर किया जाता है, भले ही algif_aead उपलब्ध हो या नहीं। नेमस्पेस निर्माण विशेषाधिकारों की आवश्यकता है।RxRPC Page-Cache Write: नेमस्पेस विशेषाधिकारों की आवश्यकता नहीं है, लेकिन rxrpc.ko मौजूद होना चाहिए (Ubuntu पर डिफ़ॉल्ट रूप से लोड)। CVE-2026-43284 के अंध स्थानों को कवर करता है।दोनों वेरिएंट को श्रृंखलित करने से वे एक-दूसरे के अंध स्थानों को कवर करते हैं, प्रत्येक प्रमुख वितरण पर विश्वसनीय रूट प्राप्त करते हैं।
कोई रेस कंडीशन नहीं। कोई पुनः प्रयास नहीं। कोई क्रैश जोखिम नहीं। सभी परीक्षण किए गए वितरणों पर नियति।
महत्वपूर्ण: उन सिस्टमों पर भी जहां सार्वजनिक रूप से ज्ञात Copy Fail शमन (algif_aead ब्लैकलिस्ट) लागू है, Dirty Frag CVE-2026-43284 के माध्यम से शोषणीय बना रहता है।
| Dirty Cow (2016) | Dirty Pipe (2022) | Copy Fail (2026) | Dirty Frag (2026) | |
|---|---|---|---|---|
| रेस कंडीशन आवश्यक | हाँ | आंशिक | नहीं | नहीं |
| संस्करण-विशिष्ट | हाँ | हाँ | नहीं | नहीं |
| विश्वसनीयता | अस्थिर | मध्यम | नियति | नियति |
| वितरण कवरेज | सीमित | सीमित | 2017 से सभी | 2017 से सभी |
| Copy Fail शमन को बायपास करता है | — | — | N/A | हाँ |
algif_aead ब्लैकलिस्ट (Copy Fail वर्कअराउंड) को बायपास करता हैCVE-2026-43284 (xfrm/ESP): Linux kernel कमिट cac2661c53f3 (2017-01-17) से f4c50a4034e6 (2026-05-05) तक।
CVE-2026-43500 (RxRPC): Linux kernel कमिट 2dc334f1a63a (2023-06-08) से aa54b1d27fe0 (2026-05-10) तक।
भेद्यता श्रृंखला का प्रभावी जीवनकाल लगभग 9 वर्ष है।
इस श्रेणी में कर्नेल शिप करने वाले सभी प्रमुख वितरण प्रभावित हैं, जिनमें शामिल हैं:
| वितरण | परीक्षित संस्करण | स्थिति |
|---|---|---|
| Ubuntu 24.04.4 | 6.17.0-23-generic | प्रभावित — पैच रोल आउट हो रहा है |
| RHEL 10.1 | 6.12.0-124.49.1.el10_1.x86_64 | प्रभावित — पैच रोल आउट हो रहा है |
| AlmaLinux 10 | 6.12.0-124.52.3.el10_1.x86_64 | प्रभावित — पैच उपलब्ध |
| CentOS Stream 10 | 6.12.0-224.el10.x86_64 | प्रभावित — पैच रोल आउट हो रहा है |
| Fedora 44 | 6.19.14-300.fc44.x86_64 | प्रभावित — पैच उपलब्ध |
| openSUSE Tumbleweed | 7.0.2-1-default | प्रभावित — प्रगति पर |
| Debian | — | प्रभावित — प्रगति पर |
gcc -O0 -Wall -o exp exp.c -lutil && ./exp
उन सिस्टम पर उपयोग न करें जिनका परीक्षण करने के लिए आप अधिकृत नहीं हैं।
⚠️ महत्वपूर्ण: इस शोषण को चलाने के बाद, पेज कैश दूषित हो जाता है। दूषित पेज कैश को साफ करने और सिस्टम स्थिरता सुनिश्चित करने के लिए, चलाएँ:
echo 3 > /proc/sys/vm/drop_caches
या सिस्टम को रीबूट करें।
एक कर्नेल में अपडेट करें जिसमें मेनलाइन फिक्स शामिल हों और रीबूट करें।
मेनलाइन में इस प्रकार फिक्स किया गया:
f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4aa54b1d27fe0c2b78e664a34fd0fdf7cd1960d71# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y && sudo reboot
# RHEL / AlmaLinux / CentOS Stream
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot
# SUSE / openSUSE
sudo zypper refresh && sudo zypper update kernel-default && sudo reboot
# Fedora
sudo dnf upgrade --refresh && sudo reboot
यदि तुरंत पैच करना संभव नहीं है, तो कमजोर मॉड्यूल को अक्षम करें और पेज कैश साफ़ करें।
# कमजोर मॉड्यूल को ब्लैकलिस्ट करें
sudo sh -c 'printf "install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n" > /etc/modprobe.d/dirtyfrag.conf'
# मॉड्यूल को तुरंत अनलोड करें
sudo rmmod esp4 esp6 rxrpc 2>/dev/null || true
# पेज कैश हटाएँ
echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null
| घटक | प्रभाव |
|---|---|
| SSH | ✅ प्रभावित नहीं |
| dm-crypt / LUKS | ✅ प्रभावित नहीं |
| kTLS / in-kernel TLS | ✅ प्रभावित नहीं |
| OpenSSL / GnuTLS / NSS (डिफ़ॉल्ट बिल्ड) | ✅ प्रभावित नहीं |
| IPsec / XFRM (ESP टनल, VPN) | ⚠️ तोड़ता है — esp4 और esp6 अनुपलब्ध होंगे |
| AFS / OpenAFS क्लाइंट RxRPC का उपयोग करते हुए | ⚠️ तोड़ता है — rxrpc अनुपलब्ध होगा |
AF_ALG + AEAD का सीधे उपयोग करने वाले एप्लिकेशन | ⚠️ `lsof |
अविश्वसनीय वर्कलोड के लिए — कंटेनर, CI रनर, सैंडबॉक्स्ड वातावरण — पैच स्थिति की परवाह किए बिना seccomp या AppArmor नीति के माध्यम से AF_ALG सॉकेट निर्माण और splice() को प्रतिबंधित करें। यह कमजोर कर्नेल पर भी हमले की सतह को सीमित करता है लेकिन पूर्ण फिक्स नहीं है।
जाँचें कि क्या कमजोर मॉड्यूल वर्तमान में लोड या उपयोग में हैं:
# जाँचें कि मॉड्यूल लोड हैं या नहीं
lsmod | grep -E 'esp4|esp6|rxrpc'
# जाँचें कि कोई प्रक्रिया AF_ALG सॉकेट खोलती है या नहीं
lsof | grep AF_ALG
ss -xa | grep alg
# रीबूट के बाद वर्कअराउंड सक्रिय है या नहीं पुष्टि करें
cat /etc/modprobe.d/dirtyfrag.conf
| संसाधन | लिंक |
|---|---|
| CVE-2026-43284 Mainline Fix | f4c50a4034e6 |
| CVE-2026-43500 Mainline Fix | aa54b1d27fe0 |
| NVD — CVE-2026-43284 | https://nvd.nist.gov/vuln/detail/CVE-2026-43284 |
| NVD — CVE-2026-43500 | https://nvd.nist.gov/vuln/detail/CVE-2026-43500 |
| तारीख | घटना |
|---|---|
| 2017-01-17 | CVE-2026-43284 रीग्रेशन प्रस्तुत (cac2661c53f3) |
| 2023-06-08 | CVE-2026-43500 रीग्रेशन प्रस्तुत (2dc334f1a63a) |
| 2026-05-05 | CVE-2026-43284 मेनलाइन में पैच किया गया (f4c50a4034e6) |
| 2026-05-07 | सार्वजनिक प्रकटीकरण |
| 2026-05-10 | CVE-2026-43500 मेनलाइन में पैच किया गया (aa54b1d27fe0) |
| 2026-05-10+ | वितरण पैच शिप होने लगते हैं |