0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RHEL8のCopy Fail対処設定方法を確認する

0
Posted at

1. はじめに

  • 最近出た「Dirty Frag」と「Copy Fail」の脆弱性対応の手順確認をしていたが、「Copy Fail」の対応において、古いRHELの場合、カーネルパラメータを修正してOS再起動する手順が必要とのことで、理解のため一通り試してみる。

とりあえずどんな内容かの理解のため、ざっくり検証しただけで、正確性・深堀りはあまりない。

2. 予習

  • Xのこちらのポストの流れで一通り書いてある。

  • RedHat による公式説明はこちら。

3. やったこと

  • 検証用のRHEL8サーバを作成する。
  • 検証用エクスプロイトコードを用いて、脆弱性が存在することを確認する。
  • 脆弱性を塞ぐ設定変更後、脆弱性に対応できたことを確認する。

4. 手順

4.1 検証用RHEL8サーバの作成

  • 2026/5/22現在、AWS東京リージョンで、EC2インスタンス起動時のクイックスタートから選択できるRHEL8(ami-0cff03b60dac55202)を起動する。

image.png

  • RHEL 8.10 であることを確認する。
[ec2-user@ip-10-0-0-121 ~]$ uname -a
Linux ip-10-0-0-121.ap-northeast-1.compute.internal 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Wed Apr 8 22:26:17 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux

4.2 検証用エクスプロイトコードの実行

4.3 対処設定

  • 設定変更前のgrubの設定状態を確認する。
[ec2-user@ip-10-0-0-121 ~]$ sudo grubby --info=ALL
index=0
kernel="/boot/vmlinuz-4.18.0-553.120.1.el8_10.x86_64"
args="console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto $tuned_params"
root="UUID=895913b9-13ac-4ee6-934c-1d6224d5d205"
initrd="/boot/initramfs-4.18.0-553.120.1.el8_10.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (4.18.0-553.120.1.el8_10.x86_64) 8.10 (Ootpa)"
id="ffffffffffffffffffffffffffffffff-4.18.0-553.120.1.el8_10.x86_64"
index=1
kernel="/boot/vmlinuz-0-rescue-ffffffffffffffffffffffffffffffff"
args="console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto"
root="UUID=895913b9-13ac-4ee6-934c-1d6224d5d205"
initrd="/boot/initramfs-0-rescue-ffffffffffffffffffffffffffffffff.img"
title="Red Hat Enterprise Linux (0-rescue-ffffffffffffffffffffffffffffffff) 8.10 (Ootpa)"
id="ffffffffffffffffffffffffffffffff-0-rescue"
  • 現在、カーネルに渡されているオプションを確認する。
[ec2-user@ip-10-0-0-121 ~]$ cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt3)/boot/vmlinuz-4.18.0-553.120.1.el8_10.x86_64 root=UUID=895913b9-13ac-4ee6-934c-1d6224d5d205 console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto
  • Copy Fail 脆弱性対策のコマンド(カーネルパラメータ変更)を実行する。
[ec2-user@ip-10-0-0-121 ~]$ sudo grubby --update-kernel ALL --args="initcall_blacklist=algif_aead_init"
  • 設定変更後のgrubの設定状態を見て、argsの行が変更されていることを確認する(grubの設定は次回OS再起動時に反映)。
[ec2-user@ip-10-0-0-121 ~]$ sudo grubby --info=ALL
index=0
kernel="/boot/vmlinuz-4.18.0-553.120.1.el8_10.x86_64"
args="console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto initcall_blacklist=algif_aead_init $tuned_params"
root="UUID=895913b9-13ac-4ee6-934c-1d6224d5d205"
initrd="/boot/initramfs-4.18.0-553.120.1.el8_10.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (4.18.0-553.120.1.el8_10.x86_64) 8.10 (Ootpa)"
id="ffffffffffffffffffffffffffffffff-4.18.0-553.120.1.el8_10.x86_64"
index=1
kernel="/boot/vmlinuz-0-rescue-ffffffffffffffffffffffffffffffff"
args="console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto initcall_blacklist=algif_aead_init"
root="UUID=895913b9-13ac-4ee6-934c-1d6224d5d205"
initrd="/boot/initramfs-0-rescue-ffffffffffffffffffffffffffffffff.img"
title="Red Hat Enterprise Linux (0-rescue-ffffffffffffffffffffffffffffffff) 8.10 (Ootpa)"
id="ffffffffffffffffffffffffffffffff-0-rescue"
  • OSを再起動して、設定変更を反映させる。

  • OS再起動完了後、カーネルに渡されているオプションを再確認する。algif_aead_initの設定が追加されていることを確認する。

[ec2-user@ip-10-0-0-121 ~]$ cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt3)/boot/vmlinuz-4.18.0-553.120.1.el8_10.x86_64 root=UUID=895913b9-13ac-4ee6-934c-1d6224d5d205 console=tty0 console=ttyS0,115200n8 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto initcall_blacklist=algif_aead_init
  • 検証用エクスプロイトコードを再実行し、失敗(rootが取れない)することを確認する。

5. 所感

  • また、ただやってみただけになってしまったが、人に説明したりデモしたりするにあたり、多少の知識が身についた気がする。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?