Linux脆弱性 CVE-2026-31431 “Copy Fail” 対策

詳細などは他の専門家にお任せするとして。

Linuxカーネルに権限昇格のぜい弱性 CVE-2026-31431 が発見・公表されました。
問題のある環境でログイン可能なユーザーが本ぜい弱性を悪用すると、管理者(root)権限を奪取することが可能となります。

現状では一般ユーザーとしてログインが必要で、リモートからネットワーク経由で直接悪用することはできないようです。但し、他の機構やぜい弱性を組み合わせることでの悪用や、コンテナ(Dockerなど)環境による影響が懸念されます。

また、このぜい弱性については検証コード(PoC)が存在します。

対策としては kernel のアップデートをすることになります。すでにkernelを提供しているkernel.orgにて修正版が公開されていますが、一般的なLinuxディストリビューションではその修正が反映されるまで時間がかかります。特に企業向けのディストリビューションでは遅くなる傾向にあります。

本稿執筆時点において修正済みkernelが展開されているLinuxディストリビューションは以下の通りです。

  • Debian の一部
  • SUSE Liberty Linux 8, 9

修正済みkernelがまだ提供されてない場合は、algif_aead というカーネルモジュールを無効化することで回避することができます。

Googleで検索するとAI回答として

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

を実行する方法を案内されることがあります。これは algif_aead モジュールの自動読込を無効化する設定ですが、実はRHEL系ディストリビューション(Fedora、CentOS Stream、AlmaLinux、Rocky Linux など)では無意味となります。

というのも、 algif_aead がカーネル組み込みかモジュールモードかによって回避方法が異なります。上記のコマンドはモジュールモードでのみ効果があり、RHEL系ディストリビューションでは algif_aead がカーネル組み込みとなっているためこの方法で無効化することができないのです。

# cat /etc/system-release && uname -r
Rocky Linux release 9.7 (Blue Onyx)
5.14.0-611.36.1.el9_7.x86_64
# modinfo algif_aead
name:           algif_aead
filename:       (builtin)
description:    AEAD kernel crypto API user space interface
author:         Stephan Mueller <smueller@chronox.de>
license:        GPL
file:           crypto/algif_aead

このように modinfo algif_aead を実行すると filename: (builtin) と表示され、カーネルに組み込まれていることを示します。モジュールモードではこの filename: の行にモジュールファイルのパスが表示されます。

ではRHEL系ディストリビューションなどのカーネル組み込みの場合はどうすればよいかというと、ブートローダー(GRUB2)のカーネル起動引数に algif_aead を無効化する設定を追加します。

# grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"

この後、OS再起動することで algif_aead を無効化することができます。

# cat /etc/system-release && uname -r
Rocky Linux release 9.7 (Blue Onyx)
5.14.0-611.49.1.el9_7.x86_64
# last -n3
rocky   pts/0        203.0.113.1      Sat May  2 22:51   still logged in
reboot  system boot  5.14.0-611.49.1. Sat May  2 22:50   still running
rocky   pts/0        203.0.113.1      Sat May  2 22:44 - 22:50  (00:05)

wtmp は Mon Feb  5 14:50:13 2024 から始まっています
# cat /proc/cmdline 
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.14.0-611.49.1.el9_7.x86_64 root=/dev/mapper/VG-root ro resume=/dev/mapper/VG-swap rd.lvm.lv=VG/root rd.lvm.lv=VG/swap selinux=0 crashkernel=1G-2G:192M,2G-64G:256M,64G-:512M initcall_blacklist=algif_aead_init

/proc/cmdline にはブートローダー(GRUB2)がカーネルを起動したときのコマンドラインが記載されており、initcall_blacklist=algif_aead_init が引数に追加されていることがわかります。

aligif_aead が無効化されているかは、以下のPythonコードをターミナルにコピペし実行することで判定できます。

algif_arad disabled check code
python3 - <<'PY'
import socket
import errno

def test(typ, name):
    s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0)
    try:
        s.bind((typ, name))
        print(f"NG: bind succeeded: type={typ!r}, name={name!r}")
        return True
    except OSError as e:
        print(f"OK: bind failed: type={typ!r}, name={name!r}, errno={e.errno} ({e.strerror})")
        return False
    finally:
        s.close()

test("aead", "authencesn(hmac(sha256),cbc(aes))")
PY
# python3 - <<'PY'

PY  ← ターミナルにペースト後、ENTERを押して実行
OK: bind failed: type='aead', name='authencesn(hmac(sha256),cbc(aes))', errno=2 (No such file or directory)

このように「OK: bind faild: ~」と表示されれば aligif_aead が無効化されています。

バックアップデータ保管にさくらのオブジェクトストレージを使ってみる

要は備忘録。

これまで初代妖狐鯖として使っていたVPSサーバーをOS入れ替えて余生として現妖狐鯖のバックアップデータ保管庫としていました。
が、現在進行中のリプレース作業構成設計中に「バックアップのストレージ用途だけで年2万強1はオーバースペックだよな…」と思うようになり、色々考えた結果Let’s encryptのDNS-01認証の構築ついででさくらのオブジェクトストレージを使おうという事になりました。

  1. さくらのVPS 2Gプラン 東京リージョンに設置のため ↩︎
続きを読む

「いそのー、『偽サイト』とか『コピーサイト』とか言うのやめようぜー」

地方自治体の偽サイト相次ぎ出現 Bingなどで検索上位に 不審なURLに注意 (ITmedia)

先週、また所謂「偽サイト」「コピーサイト」がネットニュースに飛び交いました。

まず結論から申し上げると、今回の件についても「偽サイト」「コピーサイト」というものではなく、過去の事例同様リバースプロキシ(代行表示)サイトであると言えます。

「偽サイト」ではない?

続きを読む

CentOS、Almaに変えるか、Rockyに変えるか

…どっちでも良いんじゃね?(暴論

閑話休題。

ご存じの通り、CentOS ProjectがRed Hat Enterprise Linux(RHEL)クローンとしてのCentOSの開発・サポートを放棄すると発表してから10ヶ月。まもなくその先陣となるCentOS 8のサポート期限(2021年12月31日)が迫っています。
このあたりのゴタゴタについては他のニュースサイト当の記事をご参照いただければと思いますし、CentOS Streamについては 関わりたくない ここでは論じません。

そんな中、これまでのCentOSの流れを継承するRHELクローンOSが幾つか発表されました。主力ととなりそうなものは次の4つです。

  • AlmaLinux
  • Rocky Linux
  • Oracle Linux
  • MILACLE LINUX

このうち、下の2つ(Oracle Linux、MILACLE LINUX)は元々商用ディストリビューションですが、バージョン8.4より無償で公開(サポートは有償)されています。元々企業向けという事もあり、個人や開発用途としては利用しづらい側面もあります。

AlmaLinuxとRocky Linux、どちらがよいか

続きを読む

「偽サイト」「コピーサイト」再び…

先週(4/21~22)頃にニュースサイト等で「偽サイト」「コピーサイト」に関する注意喚起がながれました。

ニコニコ大百科に偽サイト、Google検索の上位に 公式が注意喚起 (ITmedia)
とらのあなの偽サイトに注意 Google検索の上位に (ITmedia)

この記事を見た時「あれ…これって前にもあったやつじゃないか?」と思いました。

1.ProxyFly とは何者なのか

ということで、件のサイトのトップページ’(敢えてURLは載せません)にアクセスしてみると…

続きを読む

Let’s Encryptのルート証明書変更にかかる妖狐鯖への影響について

2020年9月29日以降を目処にLet’s Encryptの使用しているルート証明書が「ISGR Root X1」へ切り替わることが予定されています。
これにより、一部の古いブラウザや端末においてLets’ Encrypによって発行されたSSL証明書を使用したSSLサイトへの接続が正常にできなくなる可能性があります。
妖狐鯖においても一部サービスにおいてLet’s EncryptのSSL証明書を使用しているため、この影響を受けることとなります。

続きを読む

ownCloudのアップデート

妖狐鯖ではPHP 7.3が標準使用となっており、その関係でこれまでownCroud 10.1を動かすのにFastCGI(PHP-FPM)を使っていた(*1)のですが、バージョン10.3でPHP 7.3に正式対応したため入れ換えることになりました。
その際の手動更新手順を備忘録として残します。

*1: PHP-FPMを使うことで標準とは異なるバージョンのPHPを利用できるようになる。
 ただし、モジュール版と比べるとパフォーマンスが若干落ちる

続きを読む