Linuxカーネルにおいて、ユーザ空間からカーネルの暗号APIを利用するためのインターフェース「AF_ALG」を非推奨化するパッチが発表された。
「AF_ALG」は、ユーザ空間プログラムからハッシュ、対称鍵暗号、AEAD、乱数生成などのカーネル実装暗号アルゴリズムを利用するためのインターフェイス。暗号アクセラレータへのアクセスなどを想定して導入されたが、ソフトウェア実装を含む広い暗号機能を非特権ユーザ空間へ公開する構造となっていた。
今回発表されたパッチでは、AF_ALGを「非推奨」として文書化し、関連するKconfig項目にも非推奨であることを明記する。次期「Linux 7.2」において、「AF_ALG」が非推奨となり、オフロード機能を削除する予定だという。パッチでは、AF_ALGが後方互換性のために維持されている一方、ユーザ空間暗号ライブラリと機能が重複しており、脆弱性が継続的に発見されている点が問題視されている。
AF_ALG非推奨化の背景には、Linuxカーネルの暗号サブシステムに存在していたローカル権限昇格脆弱性「Copy Fail(CVE-2026-31431)」がある。同脆弱性では、AF_ALG関連の処理を悪用することで、読み取り専用ファイルのページキャッシュを書き換え、root権限取得につなげられることが指摘されていた。
また、AF_ALGのzero-copyサポートを削除するパッチも投稿されている。このパッチでは、zero-copyサポートについて、ユーザ空間がsuバイナリのようなファイルのページキャッシュに対して暗号処理を要求できる点や、処理対象メモリを同時に変更できる点をリスクとして挙げている。パッチでは、AF_ALGのzero-copy機能はニッチなUAPIに対してリスクが利益を大きく上回るとして、削除が提案されている。
AF_ALG非推奨化パッチでは、AF_ALGがただちに削除されるわけではなく、当面は後方互換性のために維持される。ただし、脆弱性発見ツールやLLMによってAF_ALG関係の問題発見が加速していることを踏まえ、今後はユーザ空間側の実装への移行と、不要なカーネル設定の無効化が進められる見通し。
AF_ALG非推奨化パッチ
AF_ALG zero-copy削除パッチ
Copy Fail / CVE-2026-31431
「AF_ALG」は、ユーザ空間プログラムからハッシュ、対称鍵暗号、AEAD、乱数生成などのカーネル実装暗号アルゴリズムを利用するためのインターフェイス。暗号アクセラレータへのアクセスなどを想定して導入されたが、ソフトウェア実装を含む広い暗号機能を非特権ユーザ空間へ公開する構造となっていた。
今回発表されたパッチでは、AF_ALGを「非推奨」として文書化し、関連するKconfig項目にも非推奨であることを明記する。次期「Linux 7.2」において、「AF_ALG」が非推奨となり、オフロード機能を削除する予定だという。パッチでは、AF_ALGが後方互換性のために維持されている一方、ユーザ空間暗号ライブラリと機能が重複しており、脆弱性が継続的に発見されている点が問題視されている。
AF_ALG非推奨化の背景には、Linuxカーネルの暗号サブシステムに存在していたローカル権限昇格脆弱性「Copy Fail(CVE-2026-31431)」がある。同脆弱性では、AF_ALG関連の処理を悪用することで、読み取り専用ファイルのページキャッシュを書き換え、root権限取得につなげられることが指摘されていた。
また、AF_ALGのzero-copyサポートを削除するパッチも投稿されている。このパッチでは、zero-copyサポートについて、ユーザ空間がsuバイナリのようなファイルのページキャッシュに対して暗号処理を要求できる点や、処理対象メモリを同時に変更できる点をリスクとして挙げている。パッチでは、AF_ALGのzero-copy機能はニッチなUAPIに対してリスクが利益を大きく上回るとして、削除が提案されている。
AF_ALG非推奨化パッチでは、AF_ALGがただちに削除されるわけではなく、当面は後方互換性のために維持される。ただし、脆弱性発見ツールやLLMによってAF_ALG関係の問題発見が加速していることを踏まえ、今後はユーザ空間側の実装への移行と、不要なカーネル設定の無効化が進められる見通し。
(川原 龍人/びぎねっと)
[関連リンク]AF_ALG非推奨化パッチ
AF_ALG zero-copy削除パッチ
Copy Fail / CVE-2026-31431
