---
title: Linux脆弱性 CVE-2026-31431「Copy Fail」は何が危ないのか・対策
description: LinuxカーネルのAF_ALGまわりで公開されたローカル権限昇格脆弱性 Copy Fail について、取り急ぎ最低限の情報を整理した。
date: 2026-04-30 10:58:00
image: copy-fail-cve-2026-31431.jpg
---

Linuxカーネルに2017年から潜んでいた脆弱性として、CVE-2026-31431、通称「Copy Fail」が公開された。

## 何が起きるのか

そのLinuxマシンにログインできる一般ユーザーがごく短い攻撃プログラムを実行するだけで簡単に管理者(root)権限を取得できる。

## 「一般ユーザー」が管理者権限を奪取してしまうケース

- ログイン権限を持った関係者（あるいは元関係者）がウィルス感染した
- 他のソフトウェアの脆弱性で一般ユーザーとして活動できる経路をこじあけられてしまった
- 不特定多数の利用者が同一のサーバに同居して自由に利用できるタイプのサービスを提供しており、利用者の中に悪意を持った者がいる

上記のような状況でも普通は管理者権限にまではアクセスできないが、本脆弱性を組み合わせ利用することで管理者権限にも到達できてしまうことが問題となっている。

## 脆弱性のありか

Linuxカーネルの `algif_aead`。環境によっては `algif_aead.ko` というカーネルモジュール(ドライバ)として提供されているが、カーネル本体に組み込まれている場合もある。

## 対策

### 1. OSアップデートを行う

ただしカーネルのバグなので再起動しないと修正が反映されない。また、この記事を書いている時点では各ディストリビューションやリリース系列によって修正済みパッケージの提供状況に差がある。単に「主要ディストリビューションだから修正済み」とは考えず、後述する各ディストリビューションの公式CVE追跡ページで確認すること。

### 2. algif_aead.koの自動ロードを無効にする

`algif_aead` がカーネルモジュールとして提供されている環境では、この方法なら再起動不要。`/etc/modprobe.d/disable-algif.conf` というファイルを作成してその中身を `install algif_aead /bin/false` にすることで問題のモジュールを自動ロードできなくする。このモジュールは滅多に使われていないため無効にしても大抵の環境では差し支えない。

```sh
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead
```

`rmmod` のエラーは握りつぶさず確認したほうがよい。ここで `Module algif_aead is builtin` と表示される場合、この回避策は効いていない。

::: important
**注意: カーネル組み込みの場合、この回避策は効かない**

Fedora / RHEL / CentOS Stream / AlmaLinux / Rocky Linux などでは `algif_aead` がカーネル本体に組み込まれており、上記の自動ロード抑止では軽減策にならない場合がある。この場合は `rmmod` も効かないので、修正版カーネルへの更新と再起動が必要になる。
:::

現在のカーネルで `algif_aead` がモジュールか組み込みかは、次のように確認できる。

```sh
modinfo algif_aead
```

`filename: (builtin)` と表示される場合はカーネル組み込み。`/lib/modules/.../algif_aead.ko` のようなパスが表示される場合はモジュール。

カーネル設定から見る場合は次のように確認できる。

```sh
zgrep CONFIG_CRYPTO_USER_API_AEAD /proc/config.gz 2>/dev/null \
  || grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
```

`CONFIG_CRYPTO_USER_API_AEAD=y` なら組み込み、`CONFIG_CRYPTO_USER_API_AEAD=m` ならモジュール、`is not set` なら該当機能は無効。

## 各ディストリビューションの公式CVE追跡ページ

- **Ubuntu**
  [https://ubuntu.com/security/CVE-2026-31431](https://ubuntu.com/security/CVE-2026-31431)（High優先度、詳細な影響バージョン一覧あり）

- **Debian**
  [https://security-tracker.debian.org/tracker/CVE-2026-31431](https://security-tracker.debian.org/tracker/CVE-2026-31431)（各リリースごとの固定状況が一目でわかる）

- **Red Hat Enterprise Linux (RHEL) / CentOS Stream / Rocky Linux / AlmaLinux / Oracle Linux**
  [https://access.redhat.com/security/cve/CVE-2026-31431](https://access.redhat.com/security/cve/CVE-2026-31431)
  （Bugzilla: [https://bugzilla.redhat.com/show_bug.cgi?id=2460538](https://bugzilla.redhat.com/show_bug.cgi?id=2460538)）

- **SUSE Linux Enterprise / openSUSE**
  [https://www.suse.com/security/cve/CVE-2026-31431.html](https://www.suse.com/security/cve/CVE-2026-31431.html)

- **Amazon Linux**
  [https://explore.alas.aws.amazon.com/CVE-2026-31431.html](https://explore.alas.aws.amazon.com/CVE-2026-31431.html)（AL2 / AL2023両方記載）

- **Fedora**
  Red HatのCVEページを参照（上記）
  または [Bodhi Updates](https://bodhi.fedoraproject.org/updates/?search=CVE-2026-31431) で最新パッケージを確認

- **Arch Linux**
  専用CVEページはなく、[Arch Linux Security Tracker](https://security.archlinux.org/) または `pacman -Si linux` でkernel更新状況を確認

## 参考情報

- [NVD: CVE-2026-31431](https://nvd.nist.gov/vuln/detail/CVE-2026-31431)
- [Copy Fail — CVE-2026-31431](https://copy.fail/)
- [kernel.org stable commit: a664bf3d603d](https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5)
- [Debian Security Tracker: CVE-2026-31431](https://security-tracker.debian.org/tracker/CVE-2026-31431)
- [Lobsters: Copy Fail — 732 Bytes to Root](https://lobste.rs/s/eeifdc/copy_fail_732_bytes_root)
