このプレイブックは、OCI 上の Linux インスタンスにおける Copy Fail としても知られる CVE-2026-31431 を修正します。
CVE-2026-31431 は、AF_ALG ユーザースペース crypto API で使用される Linux カーネルの algif_aead 実装におけるローカル権限昇格の脆弱性です。このプレイブックは、主な修正手順を適用します。つまり、更新されたベンダーカーネルパッケージをインストールし、修正済みカーネルで実行されるようにインスタンスを再起動します。
参照:
最初のプレイは、OCI Cloud Shell または OCI CLI が設定された別のマシン上でローカルに実行されます。各インスタンスを読み取り、プライマリ VNIC を特定し、prefer_public_ip に基づいてプライベート IP アドレスまたはパブリック IP アドレスのいずれかを選択することで、ハードコードされた OCI インスタンス OCID を到達可能な Ansible ホストに解決します。
2 番目のプレイは、Ansible で設定された forks 制限に従い、解決された Linux ホストを並行してパッチ適用します:
uname -r で現在実行中のカーネルを取得します。kernel* および kernel-uek* を または で更新します。dnfyumapt-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
Cloud Shell または Ansible コントロールホストがパブリック IP アドレス経由でインスタンスに到達する必要がある場合は、prefer_public_ip=true を使用します。コントロールホストがプライベートネットワーク経由で到達可能な場合は、prefer_public_ip=false を使用します。
このプレイブックは、動的に検出されたターゲットに対して厳格な SSH ホストキー検査を無効にするため、新たに解決されたインスタンス IP に対して非対話的に実行できます。
実行が成功すると、CVE-2026-31431 verification passed for all targets. で終了します。合計サマリーは、Host: ... の下にグループ化された各フィールドを 1 行ずつ出力し、以前のカーネル、再起動後にインストールされたカーネル、kernel-uek-core-... などの実行中カーネルパッケージ、および CVE check: PASS が含まれます。カーネル更新がまだ利用可能なために検証が失敗した場合は、ホストが正しいベンダーセキュリティリポジトリに到達できることを確認し、プレイブックを再実行してください。