
# Playbook Ansible automatisant la correction de CVE-2026-31431 (Copy Fail) sur les instances Linux OCI Playbook Ansible qui automatise la correction de CVE-2026-31431 (Copy Fail) sur les instances Linux OCI en installant les paquets de noyau mis à jour, en redémarrant et en vérifiant la correction sur plusieurs distributions.
Ce playbook remédie à la CVE-2026-31431, également connue sous le nom de Copy Fail, sur les instances Linux dans OCI.
La CVE-2026-31431 est un problème d'élévation de privilèges locale dans l'implémentation algif_aead du noyau Linux utilisée par l'API crypto userspace AF_ALG. Ce playbook applique la voie de remédiation principale : installer un paquet de noyau fournisseur mis à jour et redémarrer l'instance afin qu'elle exécute le noyau corrigé.
Références :
Le premier play s'exécute localement dans OCI Cloud Shell ou sur une autre machine avec l'OCI CLI configuré. Il résout les OCID d'instances OCI codés en dur en hôtes Ansible joignables en lisant chaque instance, en trouvant sa VNIC principale et en sélectionnant l'adresse IP privée ou publique selon prefer_public_ip.
Le deuxième play corrige les hôtes Linux résolus en parallèle, sous réserve de la limite forks configurée d'Ansible :
uname -r.dnf ou yum pour kernel* et kernel-uek*.apt-get --only-upgrade pour les paquets de noyau Linux installés.zypper patch --category security.Après le redémarrage, le playbook utilise les outils de paquets et de référentiels de la distribution cible pour valider la remédiation :
rpm, vérifie les mises à jour de noyau en attente avec dnf check-update ou yum check-update, vérifie les métadonnées d'avis CVE avec updateinfo et recherche le journal des modifications du paquet de noyau installé.dpkg-query, vérifie les mises à jour de noyau en attente avec une simulation apt-get et recherche le journal des modifications du paquet de noyau installé.rpm, vérifie les mises à jour de noyau en attente avec zypper list-updates, vérifie les métadonnées de correctif CVE avec zypper list-patches --cve et recherche le journal des modifications du paquet de noyau installé.Les contrôles pass/échec stricts sont que l'hôte exécute un noyau géré par paquet après le redémarrage et qu'aucune mise à jour de paquet de noyau ne reste en attente depuis les référentiels configurés. La sortie d'avis et de journal des modifications spécifique à la CVE est collectée lorsque la distribution publie ces métadonnées.
À la fin de l'exécution, un play de résumé localhost rapporte :
La sortie par défaut est un résumé compact par hôte. Pour également afficher les données de vérification brutes complètes, ajoutez :
-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
Utilisez prefer_public_ip=true lorsque Cloud Shell ou votre hôte de contrôle Ansible doit atteindre les instances via des adresses IP publiques. Utilisez prefer_public_ip=false lorsque l'hôte de contrôle a une connectivité réseau privée.
Le playbook désactive la vérification stricte de la clé d'hôte SSH pour les cibles découvertes dynamiquement afin de pouvoir s'exécuter de manière non interactive contre les adresses IP d'instances nouvellement résolues.
Une exécution réussie devrait se terminer par CVE-2026-31431 verification passed for all targets. Le résumé total affiche une ligne par champ, groupée sous Host: ..., y compris le noyau précédent, le noyau installé après redémarrage, le paquet de noyau en cours d'exécution tel que kernel-uek-core-..., et CVE check: PASS. Si la vérification échoue parce que des mises à jour de noyau sont toujours disponibles, confirmez que l'hôte peut atteindre les référentiels de sécurité fournisseur corrects et relancez le playbook.