
Linux कर्नेल Fragnesia CVE-2026-46300 के लिए केवल-पहचान वाला स्थानीय ट्रायाज स्कैनर: किसी चालू या इंस्टॉल किए गए कर्नेल को अपस्ट्रीम और डिस्ट्रो फ़िक्स्ड बिल्ड्स के विरुद्ध ग्रेड करता है। कोई पेलोड नहीं, कोई नेटवर्क नहीं।
fragnesia-scannerFragnesia के लिए स्थानीय ट्रायाज, जो Linux कर्नेल विशेषाधिकार एस्केलेशन CVE-2026-46300 है। इसे अपने स्वामित्व वाला कर्नेल संस्करण दें, यह आपको बताता है कि वह बिल्ड अभी भी खुला है या नहीं, और यह उन जालों को पकड़ता है जो संस्करण जाँच को झूठा बना देते हैं। यह कभी नेटवर्क को नहीं छूता, कभी एक्सप्लॉइट लोड नहीं करता, कभी बग को ट्रिगर नहीं करता।
दोषविवरण | मान |
|---|---|
CVE | CVE-2026-46300, उपनाम Fragnesia, एक Dirty Frag प्रकार |
बग | skb_try_coalesce() साझा-फ्रैग मार्कर को गिरा देता है, इसलिए ESP-in-TCP इनपुट पेज-कैश पेजों पर इन-प्लेस डिक्रिप्ट करता है (CWE-456) |
प्रभाव | एक स्थानीय उपयोगकर्ता उन फ़ाइलों की कैश्ड सामग्री को फिर से लिखता है जिन्हें वह केवल पढ़ सकता है। सार्वजनिक प्रूफ़ ऑफ़ कॉन्सेप्ट /usr/bin/su की कैश्ड प्रति को लक्षित करता है, इसलिए उस प्रोग्राम का अगला रन हमलावर कोड को root के रूप में निष्पादित करता है |
गंभीरता | 7.8 उच्च, कर्नेल CNA और NVD द्वारा स्कोर किया गया (AV:L/AC:L/PR:L/UI:N) |
शोषण | 2026-10-28 को CISA KEV में जोड़ा गया, संघीय नियत तिथि 2026-10-31, फोरेंसिक ट्रायाज के लिए चिह्नित। CISA की प्रविष्टि कहती है कि इसे PHP2Shell दोषों के साथ श्रृंखलाबद्ध किया जा सकता है ताकि PHP वेबशेल्स को इम्प्लांट किया जा सके और कमांड को root के रूप में चलाया जा सके |
श्रृंखला | Dream Security ने उस श्रृंखला की रिपोर्ट की जिसने 25 फ़ायरवॉल उपकरणों को रूट किया, जिनमें US सरकार से संबद्ध नेटवर्क पर मौजूद सिस्टम भी शामिल हैं: PHP2Shell वेब उपयोगकर्ता के रूप में कोड चलवाता है, Fragnesia इसे root में बदल देता है, SELinux प्रतिबंध के तहत भी, क्योंकि यह कभी फ़ाइलसिस्टम से लिखने की पहुँच नहीं माँगता |
Fragnesia एक रिमोट हमला नहीं है। कोई भी इसे केवल नेटवर्क से किसी सर्वर के विरुद्ध उपयोग नहीं करता। इसे मशीन पर पहले से चल रहे कोड की आवश्यकता होती है, जो ठीक वही है जो एक वेबशेल, एक चोरी हुआ SSH लॉगिन, या एक समझौता किया गया CI जॉब प्रदान करता है। यही कारण है कि यह foxcornlab/php2shell-scanner के साथ जोड़ा जाता है: PHP पक्ष को वहाँ ग्रेड करें, कर्नेल पक्ष को यहाँ ग्रेड करें।
ठीक किए गए संस्करणअपस्ट्रीम स्थिर (फ़िक्स कमिट f84eca581739)लाइन | इसमें ठीक किया गया |
|---|---|
7.0 | 7.0.10 |
6.18 | 6.18.33 |
6.12 | 6.12.91 |
6.6 | 6.6.141 |
6.1 | 6.1.174 |
5.15 | 5.15.208 |
5.10 | 5.10.257 |
7.1 और बाद के | प्रभावित नहीं |
3.9 से पुराने | प्रभावित नहीं, CVE रिकॉर्ड के अनुसार |
कोई अन्य लाइन (जैसे 6.17, 6.5) | कोई अपस्ट्रीम ठीक किया गया रिलीज़ सूचीबद्ध नहीं, किसी ठीक की गई लाइन पर जाएँ |
Ubuntu (सटीक ठीक किए गए बिल्ड)रिलीज़ | ठीक किया गया बिल्ड |
|---|---|
26.04 | 7.0.0-22.22 |
25.10 | 6.17.0-35.35 |
24.04 | 6.8.0-124.124 |
22.04 | 5.15.0-181.191 |
20.04 मानक 5.4 कर्नेल | Ubuntu द्वारा प्रभावित नहीं के रूप में सूचीबद्ध |
20.04 5.15 HWE कर्नेल | केवल Ubuntu Pro, अपनी Pro एडवाइज़री जाँचें |
Debian (सटीक ठीक किए गए बिल्ड)रिलीज़ | ठीक किया गया बिल्ड |
|---|---|
13 trixie | 6.12.90-1 (DSA-6295-1) |
12 bookworm | 6.1.174-1 (DSA-6306-1) |
11 bullseye | 5.10.257-1 (DLA-4606-1) |
RHEL और व्युत्पन्नप्रति स्ट्रीम, RHSA-2026:19521 और बाद की देखें। यह टूल RHEL होस्ट्स को अपस्ट्रीम फ़िक्स के विरुद्ध ग्रेड करता है और एडवाइज़री का नाम बताता है, क्योंकि Red Hat कोई एकल संस्करण संख्या प्रकाशित नहीं करता जिसके विरुद्ध यह टूल ग्रेड कर सके।
जहाँ स्रोत असहमत हैंदो असहमतियाँ, दोनों का जानबूझकर पालन किया गया। October 28 KEV अपडेट के एक द्वितीयक लेख में इस CVE के लिए 2.7 छपा है; वह उसी अपडेट से VMware ESX स्कोर है, जिसे कर्नेल प्रविष्टि पर बदल दिया गया है। NVD, कर्नेल CNA और Red Hat सभी 7.8 कहते हैं, इसलिए यह टूल 7.8 का पालन करता है। दूसरा: NVD की 5.10 लाइन के लिए सीमा 5.10.257 तक चलती है, जबकि अपस्ट्रीम रिकॉर्ड और Debian दोनों 5.10.257-1 को ठीक किया गया बिल्ड के रूप में सूचीबद्ध करते हैं। यह टूल अपस्ट्रीम और Debian का पालन करता है और 5.10.257 को ठीक किया गया मानता है।
जाल 1: uname अपलोड संख्या छिपाता हैUbuntu का 24.04 के लिए निर्धारित बिल्ड 6.8.0-124.124 है। uname -r 6.8.0-124-generic प्रिंट करता है। दूसरे डॉट के बाद का अपलोड नंबर uname आउटपुट में कभी नहीं दिखता, इसलिए एक चल रहे कर्नेल जिसका ABI निर्धारित ABI से मेल खाता है, उसे अकेले uname से स्पष्ट नहीं किया जा सकता। यह टूल उस स्थिति को UNKNOWN आंकता है, साफ़ नहीं, और आपको इंस्टॉल किए गए linux-image पैकेज संस्करण की जाँच करने के लिए कहता है। निर्धारित ABI से नीचे का ABI निश्चित रूप से VULNERABLE है; उससे ऊपर का ABI FIXED है। निश्चित ग्रेड के लिए --package-version के साथ dpkg संस्करण पास करें।
Trap 2: installed is not bootedएक निर्धारित कर्नेल पैकेज जो इंस्टॉल है लेकिन चल नहीं रहा है, कुछ नहीं करता। --local चल रहे कर्नेल की तुलना नवीनतम इंस्टॉल किए गए कर्नेल पैकेज से करता है और जब वे भिन्न हों तो स्पष्ट रूप से बताता है, और जब कर्नेल अपडेट स्टेज किया गया हो तो /var/run/reboot-required को फ़्लैग करता है।
Trap 3: the evidence lives in memory, not on diskFragnesia कर्नेल के पेज कैश में लिखता है और कभी डिस्क को नहीं छूता। एक रीबूट बैकडोर और साक्ष्य दोनों को एक साथ मिटा देता है। यदि आपको संदेह है कि किसी होस्ट को छुआ गया है, तो कुछ भी रीस्टार्ट करने से पहले देखें: किसी फ़ाइल के सामान्य पढ़ने की तुलना कैश को बायपास करने वाले सीधे पढ़ने से करें, और पहले अपनी आवश्यक चीज़ें एकत्र करें। केवल रीबूट के बाद संग्रहीत फ़ाइलों को हैश करने वाले फ़ाइल-इंटीग्रिटी टूल इसे चूक जाएंगे।
What it checksA kernel version you supply (--kernel), अपस्ट्रीम फ़िक्स तालिका के विरुद्ध आंका गयाAn Ubuntu release (--ubuntu 24.04) ऊपर दिए गए ABI ट्रैप के साथ, या निश्चित ग्रेड के लिए --package-versionA Debian release (--debian bookworm) इंस्टॉल किए गए पैकेज संस्करण से (Debian uname स्ट्रिंग्स में केवल एक ABI नंबर होता है, इसलिए वे अपने आप में UNKNOWN आंके जाते हैं)This host (--local): चल रहा कर्नेल, os-release, नवीनतम इंस्टॉल किया गया कर्नेल पैकेज, लोड किए गए ESP मॉड्यूल (esp4, esp6, rxrpc), रीबूट-आवश्यक फ़्लैग, और क्या PHP इंस्टॉल है (अलग से आंका गया, नीचे देखें)ESP module presence: esp4/esp6 लोड किए गए एक कमज़ोर कर्नेल में पहुँचने योग्य पथ अभी सक्रिय हैUsage# grade one version
python3 fragnesia_scanner.py --kernel 6.6.140
# Ubuntu 24.04, uname only (ABI match -> UNKNOWN, upload hidden)
python3 fragnesia_scanner.py --ubuntu 24.04 --kernel 6.8.0-124-generic
# Ubuntu 24.04, definitive grade from the installed package
python3 fragnesia_scanner.py --ubuntu 24.04 --kernel 6.8.0-124-generic --package-version 6.8.0-124.124
# Debian bookworm from the installed package
python3 fragnesia_scanner.py --debian bookworm --package-version 6.1.174-1
# this host, everything at once
python3 fragnesia_scanner.py --local
# machine-readable output for fleets
python3 fragnesia_scanner.py --local --json
एग्ज़िट कोड: 0 = कुछ भी भेद्य नहीं मिला, 2 = भेद्य निष्कर्ष, 1 = स्कैन त्रुटि। UNKNOWN एग्ज़िट कोड नहीं बदलता, लेकिन यह स्वच्छ भी नहीं है।
श्रृंखला का PHP आधा भागयदि --local होस्ट पर PHP पाता है, तो यह ऐसा बताता है और PHP ग्रेड के लिए foxcornlab/php2shell-scanner की ओर इंगित करता है। यह टूल जानबूझकर स्वयं PHP को ग्रेड नहीं करता: वह स्कैनर पहले से ही PHP 8.2.35, 8.3.36, 8.4.27 और 8.5.12 फ़िक्स तालिका का स्वामी है, और एक टूल का एक फ़िक्स तालिका का स्वामी होना दो टूल्स के अलग-अलग होने से बेहतर है।
यदि आप आज पैच नहीं कर सकते तो शमनmodprobe इंस्टॉल नियम के साथ esp4 और esp6 मॉड्यूल को ब्लॉक करें और उन्हें अनलोड करें। यह होस्ट पर IPsec बंद कर देता है, इसलिए इसे VPN गेटवे पर उपयोग न करें। यह एक अस्थायी उपाय है, समाधान नहीं: कर्नेल को पैच करें और उसमें रीबूट करें।
परीक्षणpython3 -m unittest discover -s tests -v
19 परीक्षण: प्रत्येक निश्चित पंक्ति के लिए अपस्ट्रीम सीमा, तीनों दिशाओं में Ubuntu ABI जाल, Debian पैकेज तुलना, 20.04 के विशेष मामले, RHEL सलाहकार नोट्स, और सभी चार स्ट्रिंग आकारों के लिए संस्करण पार्सिंग।
आभार