hero_picture
Cover Image for Amazon Linux 2023 / Amazon Linux 2 で Dirty Frag / Copy Fail v1 に対応する

Amazon Linux 2023 / Amazon Linux 2 で Dirty Frag / Copy Fail v1 に対応する

CTOの原口です。

Amazon Linux 2023 / Amazon Linux 2 における、Linuxカーネルの脆弱性である Copy Fail v1 および Dirty Frag への対応手順をまとめました。

結論だけ伝えると、すでにパッチが出ているため、Amazon Linux 2023 / Amazon Linux 2 での基本対応は修正済みカーネルへ更新し、再起動後に新しいカーネルで起動していることを確認することで、基本対応は完了します。

しかし、同種のローカル権限昇格につながるカーネル脆弱性が短期間で続けて確認されているため、対象機能を利用していない環境では、関連モジュールを無効化することが追加の防御策となります。

この記事では、Amazon Linux 2023 で標準のカーネルである6.1 系、Amazon Linux 2ではCore 4.14 系の環境を中心に、Dirty Frag / Copy Fail v1 への対応手順と、モジュール無効化する手順をまとめます。

💡
esp4 / esp6 / rxrpc のモジュールを無効化すると、IPsec、IPComp、AFS などを使っている環境では影響が出る可能性があります。これらの機能を利用している場合は、モジュール無効化ではなく、修正済みカーネルの適用のみを対策としてください。

なお弊社環境では、

  • 一般ユーザー権限で任意コードを実行できる利用者が存在しない運用
  • 脆弱性がいわゆる外部からのリモート未認証攻撃ではなく、一般ユーザーの権限を前提とするものであること
  • 弊社環境では、確認時点で入手可能だったPoCによる再現には至らなかったこと

などから、直接悪用されるリスクは相対的に限定的と判断しつつ、AWS が Important として修正済みカーネルを提供しているため、影響範囲を確認しながら順次対応を行っています。

対応のまとめ

パッチ適用

1# パッチ適用 (AL2023 kernel 6.1)
2sudo dnf update -y kernel --releasever=2023.11.20260509
3# AL2の場合は以下
4# sudo yum update kernel -y
5
6
7# モジュール無効化 (copy fail v1)
8sudo tee /etc/modprobe.d/disable-copyfail-v1.conf >/dev/null <<'EOF'
9install algif_aead /bin/false
10blacklist algif_aead
11EOF
12
13# モジュール無効化 (Dirty Frag)
14sudo tee /etc/modprobe.d/disable-dirtyfrag.conf >/dev/null <<'EOF'
15install esp4 /bin/false
16install esp6 /bin/false
17install rxrpc /bin/false
18blacklist esp4
19blacklist esp6
20blacklist rxrpc
21EOF
22
23# 任意: IPComp を利用していない環境で、より保守的に追加防御する場合
24sudo tee -a /etc/modprobe.d/disable-dirtyfrag.conf >/dev/null <<'EOF'
25install ipcomp4 /bin/false
26install ipcomp6 /bin/false
27blacklist ipcomp4
28blacklist ipcomp6
29EOF
30
31# 再起動
32sudo reboot

確認作業

1# カーネルバージョン確認
2uname -a
3rpm -qa | grep -E '^(kernel|kernel6\.12|kernel6\.18)-[0-9]' | sort -V
4
5# モジュールのロード状況の確認
6lsmod | grep -E 'algif_aead|esp4|esp6|rxrpc' || echo "target modules not loaded"
7
8# modprobe.d の設定確認 dry-run
9for m in algif_aead esp4 esp6 rxrpc; do
10  echo "### $m"
11  modprobe -n -v "$m" 2>&1 || true
12done

対象環境

Amazon Linux 2023
まず、現在実行中のカーネルを確認します。

1uname -a
2rpm -qa | grep -E '^(kernel|kernel6\.12|kernel6\.18)-[0-9]' | sort -V

Amazon Linux 2023 では、6.1 系の標準 kernel のほかに、kernel6.12kernel6.18 を使っている環境もあります。
実行中のカーネルによって、更新対象のパッケージ名が変わります。

実行中のカーネル更新するパッケージ
6.1.xkernel
6.12.xkernel6.12
6.18.xkernel6.18

Amazon Linux 2

AL2 では標準の 4.14 系だけでなく、Extras の 5.4 / 5.10 / 5.15 系を使っている環境があります。

AL2 の kernel対応アドバイザリ更新後の目安
4.14 / CoreALAS2-2026-3302kernel-4.14.355-282.728.amzn2
5.4 / ExtrasALAS2KERNEL-5.4-2026-121kernel-5.4.302-224.470.amzn2
5.10 / ExtrasALAS2KERNEL-5.10-2026-118kernel-5.10.253-252.1015.amzn2
5.15 / ExtrasALAS2KERNEL-5.15-2026-102kernel-5.15.204-143.230.amzn2

AWS は 5.4、5.10、5.15 の各 Extras kernel についても Dirty Frag / CVE-2026-43284 向けのアドバイザリを出しており、いずれも yum update kernel または該当アドバイザリ指定での更新と再起動が案内されています。
そのためExtras kernel を使っている場合も、基本的には
yum update kernel で更新できます。

https://alas.aws.amazon.com/AL2/ALAS2KERNEL-5.4-2026-121.html

1. カーネルを更新する

Amazon Linux 2023

標準の Amazon Linux 2023 カーネル 6.1 系を使っている場合は、次のコマンドで更新します。

1sudo dnf update -y kernel --releasever=2023.11.20260509

AWS の ALAS2023-2026-1694 では、CVE-2026-43284、いわゆる Dirty Frag 対応として上記のパッチが案内されています。
https://alas.aws.amazon.com/AL2023/ALAS2023-2026-1694.html

Amazon Linux 2

Amazon Linux 2の場合は、次のコマンドで更新します。

1sudo yum update kernel -y

https://alas.aws.amazon.com/AL2/ALAS2-2026-3302.html

2. Copy Fail v1 向けに algif_aead を無効化する

Copy Fail v1 では、algif_aead モジュールのロードを無効化する緩和策が案内されています。
https://alas.aws.amazon.com/AL2023/ALAS2023-2026-1651.html

1sudo tee /etc/modprobe.d/disable-copyfail-v1.conf >/dev/null <<'EOF'
2install algif_aead /bin/false
3blacklist algif_aead
4EOF

ここでは install algif_aead /bin/false を設定しています。
これにより、
modprobe algif_aead が実行されても実際には /bin/false が実行され、モジュールのロードが失敗します。
blacklist も併記していますが、実質的に重要なのは install 部分の記述です。


AL2 の ARM64 環境では algif_aead が built-in になっている場合があり、その場合は modprobe.d による無効化や rmmod では対応できないことがあります。AWS の ALAS2-2026-3289 では、その場合の緩和策として次のコマンドが案内されています。

1sudo grubby --update-kernel ALL --args "initcall_blacklist=algif_aead_init"
2sudo reboot

https://alas.aws.amazon.com/AL2/ALAS2-2026-3289.html

3. Dirty Frag 向けに関連モジュールを無効化する

Dirty Frag 側では、esp4esp6rxrpc などのモジュールが緩和策の対象として案内されています。
https://aws.amazon.com/jp/security/security-bulletins/2026-027-aws/

1sudo tee /etc/modprobe.d/disable-dirtyfrag.conf >/dev/null <<'EOF'
2install esp4 /bin/false
3install esp6 /bin/false
4install rxrpc /bin/false
5blacklist esp4
6blacklist esp6
7blacklist rxrpc
8EOF

AWS の説明文や初期案内では ipcomp4 / ipcomp6 も関連モジュールとして言及されていますが、現行の AWS セキュリティブリテンの緩和コマンド例では esp4 / esp6 / rxrpc が案内されているため、今回のメイン手順ではこれら3つを対象としています。

IPComp を利用しておらず、より保守的に追加防御したい場合は、環境への影響を確認したうえで ipcomp4 / ipcomp6 の無効化も検討してください。

1sudo tee -a /etc/modprobe.d/disable-dirtyfrag.conf >/dev/null <<'EOF'
2install ipcomp4 /bin/false
3install ipcomp6 /bin/false
4blacklist ipcomp4
5blacklist ipcomp6
6EOF

4. 再起動

再起動して新しいカーネルで起動します。

1sudo reboot

5. 更新後の確認

再起動後、まず実行中のカーネルを確認します。

1uname -a
2rpm -qa | grep -E '^(kernel|kernel6\.12|kernel6\.18)-[0-9]' | sort -V

標準の 6.1 系であれば、Dirty Frag 対応後の目安は次のようなバージョンです。

1kernel-6.1.170-210.320.amzn2023

次に、対象モジュールが現在ロードされていないことを確認します。

1lsmod | grep -E 'algif_aead|esp4|esp6|rxrpc' || echo "target modules not loaded"

次のように表示されれば、少なくとも現時点では対象モジュールはロードされていません。

1target modules not loaded

次に、modprobe.d の設定が参照されていることを dry-run で確認します。

1# modprobe.d の設定確認 dry-run
2for m in algif_aead esp4 esp6 ipcomp4 ipcomp6 rxrpc; do
3  echo "### $m"
4  modprobe -n -v "$m" 2>&1 || true
5done

期待する出力は、各モジュールで /bin/false が使われることです。
例えば、次のように
install /bin/false または /bin/false を含む出力になっていれば、modprobe.d の設定が参照されています。

1install /bin/false

以上です。