
Debian/Ubuntu कर्नेल का CVE-2026-98432 के लिए ऑडिट करता है और स्थायी nftables तथा sysctl उपाय लागू करता है, फिर कर्नेल अपग्रेड और रोलबैक का मार्गदर्शन करता है।
स्क्रिप्ट जाँचती है कि कर्नेल CVE-2026-98432 (IPv4 TCP प्रोसेसिंग में use-after-free, CVSS 9.8) से ठीक हुआ है या नहीं। यदि कर्नेल ठीक नहीं हुआ है, तो यह तुरंत अस्थायी सुरक्षा सक्षम करती है और कर्नेल अपडेट स्थापित करने में मदद करती है।
सुरक्षा जोखिम कम करती है, लेकिन कमज़ोरी को दूर नहीं करती। पूर्ण समाधान केवल एक है: ठीक किया गया कर्नेल स्थापित करें और पुनः बूट करें। Red Hat के अनुमान के अनुसार, IP विकल्पों वाले पैकेटों को फ़िल्टर करना शोषण को पूरी तरह से नहीं रोकता।
tcp_v4_syn_recv_sock() ireq_opt को कॉपी किए बिना चाइल्ड सॉकेट को पास कर देता है, और inet_sock_destruct() इसे सामान्य kfree() से मुक्त कर देता है। उसी समय दूसरे CPU कोर पर प्रोसेस हो रहा दोहराया गया SYN ip_options_build() में पहले से मुक्त की गई मेमोरी तक पहुँचता है।net.ipv4.tcp_migrate_req=1 या BPF प्रोग्राम BPF_SK_REUSEPORT_SELECT_OR_MIGRATE।ipv4: free inet_opt and ireq_opt after an RCU grace period (e3f33b0a1d89)।| स्थिर शाखा | में ठीक किया गया |
|---|---|
| 5.10 | 5.10.272 |
| 5.15 | 5.15.223 |
| 6.1 | 6.1.190 |
| 6.6 | 6.6.159 |
| 6.12 | 6.12.113 |
| 6.18 | 6.18.56 |
| 7.2 | 7.2.10 |
| मुख्यधारा | 7.3 |
2 नवंबर 2026 तक डिस्ट्रीब्यूशन में स्थिति:
linux 6.1.190-1 (DLA-4841-1) और linux-6.12 6.12.113-1~deb12u1 (DLA-4850-1) में ठीक किया गया।linux 6.12.113-1 (DSA-6568-1) में ठीक किया गया।prerouting हुक में raw प्राथमिकता (−300) के साथ IP विकल्पों (IHL > 5) वाले आने वाले IPv4 TCP पैकेटों को अस्वीकार करता है, अर्थात् इससे पहले कि कर्नेल विकल्पों को पार्स करे। nftables का उपयोग किया जाता है, और यदि वह उपलब्ध न हो तो u32 मॉड्यूल के साथ iptables का।net.mptcp.enabled = 0 सेट करता है। पहले से खुले MPTCP सॉकेट इसके बावजूद MPTCP बने रहते हैं, इसलिए स्क्रिप्ट उन्हें सूचीबद्ध करती है ताकि आप उन सेवाओं को पुनः आरंभ कर सकें।net.ipv4.tcp_migrate_req = 0 सेट करता है।nftables / netfilter-persistent / firewalld के पुनः आरंभ के बाद पुनः लागू करना और हर 5 मिनट में टाइमर द्वारा जाँच।यदि चल रहा कर्नेल पहले से ठीक है, तो स्क्रिप्ट कुछ भी नहीं बदलती और बताती है कि पहले सक्रिय की गई सुरक्षा को कैसे हटाया जाए।
nftables (अनुशंसित) या iptables। स्थायी सुरक्षा के लिए systemd आवश्यक है।git clone https://github.com/IgrekLg/cve-2026-98432-mitigation.git
cd cve-2026-98432-mitigation
sudo bash mitigate-cve-2026-98432.sh # аудит, защита, предложение обновить ядро
sudo bash mitigate-cve-2026-98432.sh --status # только посмотреть, ничего не меняя
| कुंजी | क्रिया |
|---|---|
--status | केवल स्थिति दिखाएँ |
--uninstall | सुरक्षा हटाएँ और sysctl के मूल मान बहाल करें (यदि कर्नेल ठीक नहीं है, तो पुष्टि माँगेगा) |
-y, --yes | बिना प्रश्न: कर्नेल अपडेट इंस्टॉल करें, --uninstall की पुष्टि करें |
--no-upgrade | apt को न छुएँ: केवल ऑडिट और सुरक्षा |
--force | सुरक्षा सक्षम करें, भले ही कर्नेल पहले से ठीक हो |
--keep-mptcp | MPTCP को अक्षम न करें |
--keep-tcp-migrate | net.ipv4.tcp_migrate_req को न छुएँ |
यदि टर्मिनल नहीं है (Ansible, cron, ssh बिना -t) और --yes सेट नहीं है, तो सुरक्षा फिर भी सक्षम हो जाती है, और कर्नेल इंस्टॉलेशन संकेत के साथ छोड़ दिया जाता है।
| कोड | अर्थ |
|---|---|
| 0 | चल रहा कर्नेल ठीक है या अप्रभावित है |
| 3 | कर्नेल ठीक नहीं है, सुरक्षा सक्रिय है: अपडेट और रीबूट आवश्यक |
| 4 | कर्नेल ठीक नहीं है, सुरक्षा सक्रिय नहीं है |
| 1 | त्रुटि |
| 2 | अमान्य आर्ग्युमेंट |
Ansible के लिए उदाहरण:
- name: CVE-2026-98432 mitigation
ansible.builtin.script: mitigate-cve-2026-98432.sh --yes
register: cve
failed_when: cve.rc not in [0, 3]
changed_when: false
जाँचें क्रम से होती हैं:
CVE-2026-98432 या सुधारक कमिट का शीर्षक उल्लिखित है, तो कर्नेल ठीक हो चुका है।6.1.190-1 जैसे होते हैं। संस्करण के अपस्ट्रीम भाग की तुलना ऊपर दी गई तालिका से की जाती है। Debian को stable-अपडेट के माध्यम से सुधार मिलते हैं, और changelog में CVE संख्या हमेशा नहीं दी जाती।5.15.0-NNN) stable-शाखा को नहीं दर्शाती, इसलिए कर्नेल को केवल changelog के आधार पर ठीक माना जाता है। इसके बिना स्थिति «सुधार की पुष्टि नहीं हुई» होती है, और सुरक्षा सक्रिय हो जाती है। अतिरिक्त रूप से pro fix CVE-2026-98432 --dry-run आउटपुट होता है।uname -r से संस्करण की तुलना की जाती है। उम्मीदवार कर्नेल (-rc) अज्ञात माने जाते हैं।सुधारित संस्करणों की तालिका स्क्रिप्ट में अंतर्निहित है (FIXED_IN, डेटा 2026-11-02 तक)। अपने स्वयं के कर्नेल वाले व्युत्पन्न वितरणों (Proxmox आदि) के लिए वेंडर के बुलेटिन से मिलान करें।
| पथ | उद्देश्य |
|---|---|
/usr/local/sbin/cve-2026-98432-fw | सहायक: apply / ensure / remove / check |
/etc/cve-2026-98432/mitigation.nft | nftables नियम (तालिका ip cve_2026_98432) |
/etc/systemd/system/cve-2026-98432-mitigation.service | बूट के समय नियम लागू करना, network-pre.target से पहले |
/etc/systemd/system/cve-2026-98432-mitigation-check.{service,timer} | हर 5 मिनट में जाँच, यदि किसी ने नियम हटा दिया हो तो उसे पुनर्स्थापित करता है (syslog में प्रविष्टि) |
/etc/systemd/system/{nftables,netfilter-persistent,firewalld}.service.d/50-cve-2026-98432.conf | इन सेवाओं द्वारा नियमों के (पुनः)लोड के बाद पुनः लागू करना; केवल स्थापित सेवाओं के लिए बनाए जाते हैं |
/etc/sysctl.d/99-zz-cve-2026-98432.conf | sysctl; नाम इस प्रकार चुना गया है कि फ़ाइल /etc/sysctl.conf के बाद पढ़ी जाए |
/var/lib/cve-2026-98432/sysctl.orig | --uninstall के लिए मूल sysctl मान |
स्क्रिप्ट के पिछले संस्करण की फ़ाइलें (mitigate-CVE-2026-98432.service, 99-CVE-2026-98432.conf और iptables नियम की प्रतियाँ) स्वचालित रूप से हटा दी जाती हैं।