
Playbook Ansible che automatizza la remediation di CVE-2026-31431 (Copy Fail) sulle istanze Linux OCI installando pacchetti kernel aggiornati, riavviando e verificando la correzione su più distribuzioni.
Questo playbook corregge CVE-2026-31431, noto anche come Copy Fail, su istanze Linux in OCI.
CVE-2026-31431 è un problema di escalation dei privilegi locali nell'implementazione algif_aead del kernel Linux utilizzata dall'API crittografica userspace AF_ALG. Questo playbook applica il percorso di correzione principale: installare un pacchetto del kernel aggiornato dal fornitore e riavviare l'istanza in modo che esegua il kernel corretto.
Riferimenti:
Il primo play viene eseguito localmente in OCI Cloud Shell o su un'altra macchina con OCI CLI configurata. Risolve gli OCID delle istanze OCI hard-coded in host Ansible raggiungibili leggendo ogni istanza, trovando la sua VNIC primaria e selezionando l'indirizzo IP privato o pubblico in base a prefer_public_ip.
Il secondo play applica le patch agli host Linux risolti in parallelo, soggetto al limite di forks configurato in Ansible:
uname -r.dnf o yum per kernel* e kernel-uek*.apt-get --only-upgrade per i pacchetti del kernel Linux installati.zypper patch --category security.Dopo il riavvio, il playbook utilizza gli strumenti di pacchetto e repository della distribuzione target per convalidare la correzione:
rpm, controlla gli aggiornamenti in sospeso con dnf check-update o yum check-update, controlla i metadati dell'avviso CVE con updateinfo e cerca nel changelog del pacchetto del kernel installato.dpkg-query, controlla gli aggiornamenti in sospeso con una simulazione di apt-get e cerca nel changelog del pacchetto del kernel installato.rpm, controlla gli aggiornamenti in sospeso con zypper list-updates, controlla i metadati della patch CVE con zypper list-patches --cve e cerca nel changelog del pacchetto del kernel installato.I controlli rigidi di superamento/fallimento sono che l'host stia eseguendo un kernel gestito dal pacchetto dopo il riavvio e che non rimangano aggiornamenti del kernel in sospeso dai repository configurati. L'output dell'avviso e del changelog specifico per la CVE viene raccolto quando la distribuzione pubblica tali metadati.
Alla fine dell'esecuzione, un play di riepilogo su localhost riporta:
L'output predefinito è un riepilogo compatto per host. Per stampare anche i dati di verifica grezzi completi, aggiungi:
-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
Usa prefer_public_ip=true quando Cloud Shell o il tuo host di controllo Ansible devono raggiungere le istanze tramite indirizzi IP pubblici. Usa prefer_public_ip=false quando l'host di controllo ha raggiungibilità di rete privata.
Il playbook disabilita il controllo rigoroso delle chiavi host SSH per i target scoperti dinamicamente in modo da poter essere eseguito in modo non interattivo contro gli IP delle istanze appena risolti.
Un'esecuzione riuscita dovrebbe terminare con CVE-2026-31431 verification passed for all targets. Il riepilogo totale stampa una riga per campo, raggruppati sotto Host: ..., inclusi il kernel precedente, il kernel installato dopo il riavvio, il pacchetto del kernel in esecuzione come kernel-uek-core-... e CVE check: PASS. Se la verifica fallisce perché gli aggiornamenti del kernel sono ancora disponibili, conferma che l'host possa raggiungere i repository di sicurezza corretti del fornitore e riesegui il playbook.