
एक Ansible प्लेबुक जो अपडेटेड कर्नेल पैकेज इंस्टॉल करके, रीबूट करके, और कई डिस्ट्रीब्यूशन पर फिक्स को सत्यापित करके OCI लिनक्स उदाहरणों पर CVE-2026-31431 (Copy Fail) के उपचार को स्वचालित करती है।
यह प्लेबुक OCI में लिनक्स इंस्टेंस पर CVE-2026-31431 (जिसे Copy Fail के नाम से भी जाना जाता है) को दूर करती है।
CVE-2026-31431 AF_ALG उपयोगकर्ता स्पेस क्रिप्टो API द्वारा उपयोग किए जाने वाले Linux कर्नेल algif_aead कार्यान्वयन में एक स्थानीय विशेषाधिकार वृद्धि समस्या है। यह प्लेबुक मुख्य सुधार पथ लागू करती है: एक अद्यतित विक्रेता कर्नेल पैकेज स्थापित करें और इंस्टेंस को रीबूट करें ताकि वह ठीक किए गए कर्नेल पर चले।
संदर्भ:
पहला प्ले स्थानीय रूप से OCI Cloud Shell या OCI CLI कॉन्फ़िगर किसी अन्य मशीन पर चलता है। यह हार्ड-कोडेड OCI इंस्टेंस OCID को पहुंच योग्य Ansible होस्ट में हल करता है, प्रत्येक इंस्टेंस को पढ़कर, उसका प्राथमिक VNIC ढूंढकर, और prefer_public_ip के आधार पर या तो निजी या सार्वजनिक IP पता चुनकर।
दूसरा प्ले हल किए गए लिनक्स होस्ट को समानांतर में पैच करता है, Ansible के कॉन्फ़िगर किए गए forks सीमा के अधीन:
uname -r के साथ वर्तमान में चल रहे कर्नेल को कैप्चर करता है।kernel* और kernel-uek* के लिए dnf या yum अपडेट।apt-get --only-upgrade।zypper patch --category security।रीबूट के बाद, प्लेबुक सुधार को मान्य करने के लिए लक्ष्य वितरण के पैकेज और रिपॉजिटरी टूल का उपयोग करती है:
rpm के साथ चल रहे कर्नेल को मैप करता है, dnf check-update या yum check-update के साथ लंबित कर्नेल अपडेट की जाँच करता है, updateinfo के साथ CVE सलाह मेटाडेटा की जाँच करता है, और स्थापित कर्नेल पैकेज चेंजलॉग खोजता है।dpkg-query के साथ चल रहे कर्नेल को मैप करता है, एक apt-get सिमुलेशन के साथ लंबित कर्नेल अपडेट की जाँच करता है, और स्थापित कर्नेल पैकेज चेंजलॉग खोजता है।rpm के साथ चल रहे कर्नेल को मैप करता है, zypper list-updates के साथ लंबित कर्नेल अपडेट की जाँच करता है, zypper list-patches --cve के साथ CVE पैच मेटाडेटा की जाँच करता है, और स्थापित कर्नेल पैकेज चेंजलॉग खोजता है।कठोर पास/फेल जाँच यह है कि होस्ट रीबूट के बाद एक पैकेज-प्रबंधित कर्नेल चला रहा है और कॉन्फ़िगर किए गए रिपॉजिटरी से कोई कर्नेल पैकेज अपडेट लंबित नहीं है। CVE-विशिष्ट सलाह और चेंजलॉग आउटपुट तब एकत्र किया जाता है जब डिस्ट्रो उस मेटाडेटा को प्रकाशित करता है।
रन के अंत में, एक localhost सारांश प्ले रिपोर्ट करता है:
डिफ़ॉल्ट आउटपुट एक कॉम्पैक्ट प्रति-होस्ट सारांश है। पूर्ण कच्चे सत्यापन डेटा को भी प्रिंट करने के लिए, जोड़ें:
-e show_detailed_cve_evidence=true
ansible-playbook -i localhost, patch_cve_2026_31431.yml \
-e oci_region=us-ashburn-1 \
-e ansible_user=opc \
-e ansible_ssh_private_key_file=/path/to/private_key \
-e prefer_public_ip=false
prefer_public_ip=true का उपयोग करें जब Cloud Shell या आपका Ansible नियंत्रण होस्ट सार्वजनिक IP पतों के माध्यम से इंस्टेंस तक पहुँचना चाहिए। prefer_public_ip=false का उपयोग करें जब नियंत्रण होस्ट के पास निजी नेटवर्क पहुँच हो।
गतिशील रूप से खोजे गए लक्ष्यों के लिए प्लेबुक सख्त SSH होस्ट कुंजी जाँच को अक्षम करती है ताकि यह नए हल किए गए इंस्टेंस IP के विरुद्ध गैर-संवादात्मक रूप से चल सके।
एक सफल रन को CVE-2026-31431 verification passed for all targets. के साथ समाप्त होना चाहिए। कुल सारांश प्रति क्षेत्र एक पंक्ति प्रिंट करता है, Host: ... के अंतर्गत समूहित, जिसमें पिछला कर्नेल, रीबूट के बाद स्थापित कर्नेल, चल रहा कर्नेल पैकेज जैसे kernel-uek-core-..., और CVE check: PASS शामिल है। यदि कर्नेल अपडेट अभी भी उपलब्ध होने के कारण सत्यापन विफल होता है, तो पुष्टि करें कि होस्ट सही विक्रेता सुरक्षा रिपॉजिटरी तक पहुँच सकता है और प्लेबुक को फिर से चलाएँ।