
लिनक्स कर्नेल स्थानीय विशेषाधिकार वृद्धि शोषण CVE-2026-31635 के लिए जो RxRPC इन-प्लेस डिक्रिप्शन के माध्यम से पेज कैश को दूषित करता है, केवल-पठनीय फ़ाइलों को अधिलेखित करता है, और शेलकोड निष्पादित करता है, सत्यापन मोड के साथ।
Linux स्थानीय विशेषाधिकार वृद्धि RxRPC/GSSAPI डिक्रिप्शन पथ में।
rxgk_decrypt_skb()मेंskb_cow_data()जांच का अभाव एक अनधिकृत स्थानीय हमलावर को पेज कैश पृष्ठों को दूषित करने और केवल-पढ़ने योग्य फ़ाइलों की मेमोरी सामग्री को अधिलेखित करने की अनुमति देता है।
यह रिपॉजिटरी CVE-2026-31635 के लिए अनुसंधान सामग्री और प्रूफ-ऑफ-कॉन्सेप्ट रखती है, जो Linux कर्नेल net/rxrpc/rxgk.c में एक स्थानीय विशेषाधिकार वृद्धि है।
यह कमजोरी तब होती है जब RxRPC पैकेट डेटा को निजी सुनिश्चित किए बिना AES-CBC का उपयोग करके इन-प्लेस पैकेट को डिक्रिप्ट करता है। यदि पैकेट पेज कैश पृष्ठों से बना है, तो कर्नेल सीधे साझा फ़ाइल-समर्थित मेमोरी में डिक्रिप्ट कर सकता है।
| गुण | विवरण |
|---|---|
| CVE | CVE-2026-31635 |
| घटक | net/rxrpc/rxgk.c — rxgk_decrypt_skb() |
| मूल कारण | डिक्रिप्शन से पहले skb_cow_data() जांच का अभाव |
| प्रभाव | रूट तक स्थानीय विशेषाधिकार वृद्धि |
| प्रभावित कर्नेल | 6.10 – 6.13 |
| में सुधारा गया | 6.13.2 · 6.12.10 · 6.6.75 |
अपने लक्ष्य से मेल खाने वाला पथ चुनें:
CONFIG_RXGK जांचें./dirtydecrypt --check का उपयोग करेंcd exploitmakedocs/vulnerability-analysis.md से शुरू करेंdocs/patch-analysis.md और docs/exploit-development.md की समीक्षा करें⚠️ यह रिपॉजिटरी केवल अधिकृत अनुसंधान और परीक्षण के लिए है। बिना स्पष्ट अनुमति के सिस्टमों पर इसका उपयोग न करें।
यह निर्धारित करने के लिए निम्नलिखित जांचें चलाएँ कि आपका वातावरण दायरे में है या नहीं:
uname -r
zgrep CONFIG_RXGK /proc/config.gz 2>/dev/null || grep CONFIG_RXGK /boot/config-$(uname -r)
यदि कर्नेल 6.10–6.13 रेंज में है और CONFIG_RXGK सक्षम है, तो सिस्टम कमजोर हो सकता है।
फिर एक्सप्लॉइट PoC सत्यापन मोड का उपयोग करें:
cd exploit
./dirtydecrypt --check
यदि जांच सफल होती है, तो सिस्टम कमजोर है। यदि यह साफ विफल होता है या RxRPC समर्थन गायब होने की रिपोर्ट करता है, तो कर्नेल शोषण योग्य नहीं है।
एक्सप्लॉइट एक विकृत RxRPC पैकेट का उपयोग करके कर्नेल को साझा पेज कैश पृष्ठ में डिक्रिप्ट करने के लिए मजबूर करता है।
चरण:
rxgk_decrypt_skb() को कॉल करें।एक्सप्लॉइट exploit/dirtydecrypt.c में प्रदर्शित है।
6.10 से 6.13CONFIG_RXGK=m या CONFIG_RXGK=yrxgk के पुराना कर्नेलCONFIG_RXGK अक्षमgit clone https://github.com/0xFuffM3/CVE-2026-31635-DirtyDecrypt.git
cd exploit
make
पूरी तरह स्थिर बाइनरी के लिए:
make static
./dirtydecrypt --check
उदाहरण उपयोग:
./dirtydecrypt -f /usr/bin/sudo -o /tmp/sudo_patched
./dirtydecrypt -p shellcode/payload.bin
docs/vulnerability-analysis.mddocs/exploit-development.mddocs/patch-analysis.mddocs/affected-kernels.mdयदि RxRPC आवश्यक नहीं है तो इसे अक्षम करें:
sudo rmmod rxrpc
sudo modprobe -r rxgk
echo "blacklist rxrpc" | sudo tee /etc/modprobe.d/blacklist-rxrpc.conf
पैच किए गए कर्नेल रिलीज़ में अपग्रेड करें:
6.13.26.12.106.6.75प्रासंगिक सॉकेट निर्माण और कुंजी संचालन का ऑडिट करें:
sudo auditctl -a always,exit -F arch=b64 -S socket -F a0=28 -k rxrpc_sock
प्रश्न: क्या यह एक्सप्लॉइट डिस्क पर फाइलों को संशोधित कर सकता है?
उत्तर: नहीं। यह कमजोरी केवल पेज कैश सामग्री को दूषित करती है; बैकिंग फ़ाइल डिस्क पर अपरिवर्तित रहती है जब तक कि पृष्ठ बाद में फ्लश न हो।
प्रश्न: क्या यह कमजोरी 6.13 से नए कर्नेल पर मौजूद है?
उत्तर: नहीं, पैच को बैकपोर्ट किया गया था और 6.13.2 के बाद के कर्नेल में कमजोर कोड पथ ठीक कर दिया गया है।
प्रश्न: इसका परीक्षण करने का सबसे सुरक्षित तरीका क्या है?
उत्तर: एक पृथक VM का उपयोग करें जिसमें स्टॉक कमजोर कर्नेल और एक डिस्पोजेबल उपयोगकर्ता खाता हो।
प्रश्न: मुझे एक्सप्लॉइट स्रोत कहाँ मिलेगा?
उत्तर: exploit/dirtydecrypt.c और exploit/README.md देखें।
CVE-2026-31635-DirtyDecrypt/
├── README.md
├── LICENSE
├── DISCLAIMER.md
├── CHANGELOG.md
├── exploit/
│ ├── README.md
│ ├── dirtydecrypt.c
│ ├── Makefile
│ └── shellcode/
│ └── payload.asm
└── docs/
├── vulnerability-analysis.md
├── exploit-development.md
├── affected-kernels.md
├── patch-analysis.md
└── references.md
MIT — LICENSE देखें।
यह रिपॉजिटरी केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उपयोग के लिए है।