
Ansible-Playbook, das die Behebung von CVE-2026-31431 (Copy Fail) auf OCI-Linux-Instanzen automatisiert, indem aktualisierte Kernel-Pakete installiert, ein Neustart durchgeführt und der Fix über mehrere Distributionen hinweg verifiziert wird.
Dieses Playbook behebt CVE-2026-31431, auch bekannt als Copy Fail, auf Linux-Instanzen in OCI.
CVE-2026-31431 ist eine lokale Privilegienausweitung in der algif_aead-Implementierung des Linux-Kernels, die von der AF_ALG-Userspace-Crypto-API verwendet wird. Dieses Playbook wendet den Hauptbehebungspfad an: Installation eines aktualisierten Kernel-Pakets vom Anbieter und Neustart der Instanz, damit der behobene Kernel ausgeführt wird.
Referenzen:
Das erste Play läuft lokal in der OCI Cloud Shell oder auf einem anderen Rechner mit konfigurierter OCI CLI. Es löst die hartcodierten OCI-Instanz-OCIDs in erreichbare Ansible-Hosts auf, indem es jede Instanz ausliest, ihre primäre VNIC ermittelt und je nach prefer_public_ip entweder die private oder die öffentliche IP-Adresse auswählt.
Das zweite Play patcht die aufgelösten Linux-Hosts parallel, vorbehaltlich des konfigurierten Ansible-forks-Limits:
uname -r.dnf- oder yum-Update für kernel* und kernel-uek*.apt-get --only-upgrade für installierte Linux-Kernel-Pakete.zypper patch --category security.Nach dem Neustart verwendet das Playbook die Paket- und Repository-Tools der Ziel-Distribution, um die Behebung zu validieren:
rpm, Prüfung auf ausstehende Kernel-Updates mit dnf check-update oder yum check-update, Prüfung der CVE-Advisory-Metadaten mit updateinfo und Suche im Änderungsprotokoll des installierten Kernel-Pakets.dpkg-query, Prüfung auf ausstehende Kernel-Updates mit einer apt-get-Simulation und Suche im Änderungsprotokoll des installierten Kernel-Pakets.rpm, Prüfung auf ausstehende Kernel-Updates mit zypper list-updates, Prüfung der CVE-Patch-Metadaten mit zypper list-patches --cve und Suche im Änderungsprotokoll des installierten Kernel-Pakets.Die harten Bestehens-/Fehlschlag-Prüfungen sind, dass der Host nach dem Neustart einen paketverwalteten Kernel ausführt und dass keine Kernel-Paket-Updates mehr aus den konfigurierten Repositories ausstehen. CVE-spezifische Advisory- und Änderungsprotokoll-Ausgaben werden gesammelt, wenn die Distribution diese Metadaten veröffentlicht.
Am Ende der Ausführung meldet eine Zusammenfassung auf localhost:
Die Standardausgabe ist eine kompakte Zusammenfassung pro Host. Um auch die vollständigen rohen Überprüfungsdaten auszugeben, fügen Sie hinzu:
-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=/pfad/zum/private_key \
-e prefer_public_ip=false
Verwenden Sie prefer_public_ip=true, wenn die Cloud Shell oder Ihr Ansible-Steuerungshost die Instanzen über öffentliche IP-Adressen erreichen muss. Verwenden Sie prefer_public_ip=false, wenn der Steuerungshost über private Netzwerkerreichbarkeit verfügt.
Das Playbook deaktiviert die strenge SSH-Host-Key-Überprüfung für die dynamisch ermittelten Ziele, sodass es nicht interaktiv gegen neu aufgelöste Instanz-IPs ausgeführt werden kann.
Eine erfolgreiche Ausführung sollte mit CVE-2026-31431-Überprüfung für alle Ziele bestanden. enden. Die Gesamtzusammenfassung gibt eine Zeile pro Feld aus, gruppiert unter Host: ..., einschließlich des vorherigen Kernels, des installierten Kernels nach dem Neustart, des laufenden Kernel-Pakets wie kernel-uek-core-... und CVE-Prüfung: BESTANDEN. Wenn die Überprüfung fehlschlägt, weil noch Kernel-Updates verfügbar sind, bestätigen Sie, dass der Host die korrekten Sicherheits-Repositories des Anbieters erreichen kann, und führen Sie das Playbook erneut aus.