
CVE-2026-43284/CVE-2026-43500 'DirtyFrag' हानिरहित पैच और शमन पहचान स्क्रिप्ट
TL;DR: लिनक्स कर्नेल में दो नए बग हैं। यह स्क्रिप्ट आपको बताती है कि आप असुरक्षित हैं या नहीं। अपने सिस्टम को पैच करें।
7 मई 2026 को, डर्टी फ्रैग नामक एक भेद्यता वर्ग को सुरक्षा शोधकर्ता ह्यूनवू किम (@v4bel) द्वारा सार्वजनिक रूप से खुलासा किया गया — समय से पहले, जब एक एम्बार्गो उल्लंघन ने पैच तैयार होने से पहले उन्हें मजबूर कर दिया।
यह किसी भी अनप्रिविलेज्ड स्थानीय उपयोगकर्ता को रूट प्राप्त करने की अनुमति देता है। कोई रेस कंडीशन नहीं। कोई टाइमिंग विंडो नहीं। अत्यधिक विश्वसनीय।
दो सबसिस्टम प्रभावित हैं:
| CVE | सबसिस्टम | मॉड्यूल | पेश किया गया | फिक्स्ड (अपस्ट्रीम) |
|---|---|---|---|---|
| CVE-2026-43284 | IPsec ESP | esp4, esp6 | जनवरी 2017 (cac2661c53f3) | 7 मई 2026 (f4c50a4034e6) |
| CVE-2026-43500 | RxRPC | rxrpc | जून 2023 (2dc334f1a63a) | 10 मई 2026 (aa54b1d27fe0) |
अकेले कोई भी बग पूरी तरह से विश्वसनीय नहीं है — ESP पथ के लिए उपयोगकर्ता नेमस्पेस बनाने की क्षमता की आवश्यकता होती है (जिसे उबंटू का AppArmor ब्लॉक करता है), और RxRPC पथ को rxrpc.ko लोड होने की आवश्यकता होती है (जो अधिकांश डिस्ट्रो डिफ़ॉल्ट रूप से नहीं करते)। साथ में वे एक-दूसरे के अंधे धब्बों को कवर करते हैं, जिससे यह श्रृंखला अनिवार्य रूप से हर प्रमुख वितरण पर काम करती है।
एक सार्वजनिक प्रूफ-ऑफ-कॉन्सेप्ट उपलब्ध है। मान लें कि यह पहले से ही सक्रिय उपयोग में है।
यह आपके सिस्टम की उन स्थितियों की जाँच करती है जो शोषण को संभव बनाती हैं, और आपको विशेष रूप से बताती है कि आप क्यों असुरक्षित हैं — केवल हाँ या नहीं नहीं।
यह कुछ भी ठीक नहीं करेगी। यह कुछ भी शोषित नहीं करेगी। यह केवल आपके सिस्टम के बारे में सच बताती है।
python3 dirty_frag_detect.py
बस इतना ही। रंग-कोडित आउटपुट, प्रत्येक निष्कर्ष के लिए विशिष्ट कारण, और अंत में एक उपचार सारांश।
[
]
असली फिक्स आपके कर्नेल को पैच करना है। अपने वितरण के सुरक्षा परामर्श देखें:
| वितरण | कहाँ देखें |
|---|---|
| Ubuntu / Debian | sudo apt-get update && sudo apt-get dist-upgrade |
जब आप प्रतीक्षा कर रहे हों (या यदि आपके डिस्ट्रो के लिए पैच अभी उपलब्ध नहीं हैं), तो असुरक्षित मॉड्यूल को ब्लैकलिस्ट करें:
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
> /etc/modprobe.d/dirtyfrag.conf; \
rmmod esp4 esp6 rxrpc 2>/dev/null; \
echo 3 > /proc/sys/vm/drop_caches"
⚠️ ऐसा करने से पहले:
esp4/esp6को ब्लैकलिस्ट करने से IPsec टनल टूट जाएँगी (strongSwan, Libreswan, WireGuard प्रभावित नहीं है)। इसे VPN गेटवे पर लागू न करें।rxrpcको ब्लैकलिस्ट करने से AFS वितरित फ़ाइलसिस्टम क्लाइंट टूट जाएँगे। लगभग कोई भी इसका उपयोग नहीं करता — लेकिन पहले जाँच लें।
महत्वपूर्ण: यदि आपका सिस्टम शमन लागू करने से पहले लक्षित किया गया हो सकता है, तो शोषण डिस्क को छुए बिना पेज कैश में बाइनरी को संशोधित कर सकता है। फ़ाइल अखंडता उपकरण (Tripwire, AIDE) जो ऑन-डिस्क चेकसम की जाँच करते हैं, कुछ भी गलत नहीं देखेंगे। रिबूट करने से पेज कैश साफ़ हो जाता है और ऑन-डिस्क स्थिति बहाल हो जाती है।
दोनों बग कर्नेल के इन-प्लेस डिक्रिप्शन फास्ट पाथ में रहते हैं। जब एक सॉकेट बफर पेजेड फ्रैगमेंट ले जाता है जो कर्नेल के निजी स्वामित्व में नहीं होते — उदाहरण के लिए, splice() या sendfile() के माध्यम से जुड़े पाइप पेज — ESP और RxRPC रिसीव पाथ पहले कॉपी करने के बजाय सीधे उन बाहरी-समर्थित पेजों पर डिक्रिप्ट करते हैं।
एक हमलावर /usr/bin/su (या किसी अन्य पठनीय फ़ाइल) के कैश से एक पेज को इन डिक्रिप्शन पाथ में से एक में निर्देशित कर सकता है, अपनी स्वयं की कुंजी का उपयोग करके ताकि "डिक्रिप्टेड आउटपुट" वही बाइट्स हो जो वे चुनते हैं। कर्नेल उन बाइट्स को सीधे su की इन-मेमोरी कैश्ड कॉपी में लिखता है। ऑन-डिस्क फ़ाइल अछूती रहती है। कर्नेल पेज को कभी डर्टी के रूप में चिह्नित नहीं करता।
उस बिंदु से, हर प्रक्रिया जो su निष्पादित करती है, हमलावर का संस्करण चलाती है — जब तक drop_caches या रिबूट नहीं होता।
ESP वैरिएंट (cac2661c53f3) और RxRPC वैरिएंट (2dc334f1a63a) एक ही सिंक साझा करते हैं लेकिन अलग-अलग पूर्वापेक्षाएँ रखते हैं जो एक-दूसरे को रद्द कर देती हैं, जिससे श्रृंखला सभी प्रमुख कॉन्फ़िगरेशन में विश्वसनीय हो जाती है।
पूर्ण तकनीकी लेख के लिए, V4bel/dirtyfrag देखें।
श्रेय: ह्यूनवू किम (@v4bel) मूल शोध, खुलासा और PoC के लिए।
केवल डिटेक्शन। इसे उन सिस्टमों पर इंगित करें जिनका आकलन करने के लिए आप अधिकृत हैं।
| जाँच | यह क्या देख रही है |
|---|
| कर्नेल संस्करण | क्या यह कर्नेल दोनों प्रभावित श्रेणियों में से किसी में है? |
| पैच — CVE-2026-43284 | क्या esp4/esp6 फिक्स (f4c50a4034e6) आपके कर्नेल पैकेज में है? |
| पैच — CVE-2026-43500 | क्या आपके डिस्ट्रो ने rxrpc फिक्स (aa54b1d27fe0) को बैकपोर्ट किया है? |
esp4 मॉड्यूल | लोडेड, लोड करने योग्य, या ब्लैकलिस्टेड? |
esp6 मॉड्यूल | लोडेड, लोड करने योग्य, या ब्लैकलिस्टेड? |
rxrpc मॉड्यूल | लोडेड, लोड करने योग्य, या ब्लैकलिस्टेड? |
| XFRM नेटलिंक सॉकेट | क्या कोई अनप्रिविलेज्ड उपयोगकर्ता अभी एक खोल सकता है? |
| AF_RXRPC सॉकेट | क्या कोई अनप्रिविलेज्ड उपयोगकर्ता अभी एक खोल सकता है? |
| शमन | AppArmor, SELinux, अनप्रिविलेज्ड उपयोगकर्ता नेमस्पेस, ब्लैकलिस्ट फ़ाइल |
| RHEL / AlmaLinux / Rocky |
sudo dnf update kernel |
| Arch | sudo pacman -Syu linux |
| CloudLinux | CloudLinux परामर्श |
| तिथि | घटना |
|---|
| 2026-04-30 | लिनक्स कर्नेल सुरक्षा टीम को रिपोर्ट किया गया |
| 2026-05-07 | तीसरे पक्ष द्वारा एम्बार्गो तोड़ा गया; ह्यूनवू किम समय से पहले प्रकाशित करते हैं |
| 2026-05-07 | सार्वजनिक PoC जारी; CVE-2026-43284 सौंपा गया |
| 2026-05-07 | CVE-2026-43284 फिक्स (f4c50a4034e6) netdev/net.git में विलय |
| 2026-05-08 | CVE-2026-43500 आरक्षित; डिस्ट्रो CVE-2026-43284 के लिए पैच्ड कर्नेल भेजना शुरू करते हैं |
| 2026-05-10 | CVE-2026-43500 फिक्स (aa54b1d27fe0) मेनलाइन में विलय |
| 2026-05-11 | CVE-2026-43500 के लिए डिस्ट्रो बैकपोर्ट प्रगति पर |