知識ベース Profitserver サービスの操作方法の簡単な説明
メイン 知識ベース Linuxカーネルの重大な脆弱性CVE-2026-98432:VPSの確認とアップデート方法

Linuxカーネルの重大な脆弱性CVE-2026-98432:VPSの確認とアップデート方法


2026年10月、Linuxカーネルに重大な脆弱性CVE-2026-98432が発見されました。CVSSスコアは10点満点中9.8点です。この脆弱性は、受信するIPv4 TCP接続の処理方法に影響を与え、特定の条件下では、攻撃者がパスワードや管理者による操作なしに、リモートからサーバーへのrootアクセス権を取得できてしまいます。

以下に、影響を受けるユーザー、サーバーの確認方法、および保護方法を示します。すべてのコマンドはroot権限で、または以下の権限で実行します。 sudo.

脆弱性の概要

  • それは何ですか: IPv4 TCP接続を確立するコードに存在する、解放済みメモリ使用(use-after-free)のバグ。これは競合状態によって引き起こされる。攻撃者は、特別に細工されたパケットを任意の開いているTCPポートに送信する。
  • 影響を受けるカーネル: Linux 4.4以降のすべてのバージョン、つまり事実上すべての現行ディストリビューションが含まれます。
  • IPv6 主要なバグの影響を受けません。
  • 脅威の現実性: Anthropic社の研究者らは、マルチパスTCP(MPTCP)が有効になっているサーバー上で、約53分でルートアクセス権を取得する動作するエクスプロイトチェーンを実証した。エクスプロイトコードは公開されていない。
  • 野生での攻撃: 2026年11月1日現在、悪用事例は報告されていません。これは、アップデートを延期する理由ではなく、冷静にアップデートを行うべき理由です。

Go言語のサービスには、特有のリスクが伴います。Go 1.24以降、Linux上のサーバープログラムは、カーネルが許可する場合、デフォルトでMPTCP経由でポートをリッスンします。管理者は、サーバーがこのような接続を受け入れていることに気づかない場合もあります。人気のあるプログラムの中でも、Xrayはこの方式を採用しており、開発者は既にMPTCPをデフォルトで無効にした緊急版v26.10.31をリリースしています。

各VPSは独自のカーネルを実行するため、サーバー内のカーネルはご自身で更新する必要があります。仮想化ノードの更新は弊社が行います。

お使いのシステムには修正プログラムがありますか?

2026年11月1日時点の状況です。修正プログラムはほぼ毎日配信されています。最新の状況については、この記事の末尾にあるリンクをご確認ください。

システム ステータス カーネルを固定
Debian 13, XNUMX, XNUMX 一定 linux 6.12.113-1
Debian 12, XNUMX, XNUMX 一定 linux 6.1.190-1
Ubuntu 22.04、24.04、26.04 修正作業中 まだです。一時的な保護を使用してください。
AlmaLinux 8、9、10 テストリポジトリでの修正 8: 4.18.0-553.180.2.el8_10
9: 5.14.0-687.61.2.el9_8
10: 6.12.0-211.69.2.el10_2
Rocky Linux、RHEL 8、9、10 まだ修正されていません 一時的な保護を使用する
Oracle Linux 7~10 (UEK) 一定 標準アップデート経由
SUSE / openSUSE Leap 16 一定 標準アップデート経由

ステップ1. 実行中のカーネルを確認します。

実行中のカーネルのバージョンを確認します。

uname -r

バージョン番号だけでは何もわかりません。ディストリビューションは、ベースバージョンを変更せずに、修正プログラムを独自のカーネルにバックポートすることがあります。カーネルパッケージの変更履歴を確認する方が確実です。CVE番号が記載されていれば、修正プログラムは既にインストールされています。

DebianとUbuntu:

apt changelog linux-image-$(uname -r) 2>/dev/null | grep CVE-2026-98432

Debianでは、 uname -v このコマンドは、実行中のカーネルの完全なパッケージバージョンも表示します。それを上記の表と比較してください。

AlmaLinux、Rocky Linux、RHEL、Oracle Linux:

rpm -q --changelog kernel-core-$(uname -r) | grep CVE-2026-98432

コマンドが何も出力しない場合、実行中のカーネルは脆弱です。

次に、MPTCP経由で接続を受け付けるサービスを確認します。デモ攻撃の標的となったサーバーは以下のとおりです。

ss -lnMp

出力が空の場合は、MPTCPリスナーが存在しないことを意味します。

ステップ2. 修正済みカーネルをインストールする

カーネルをアップデートする前に、サーバーのバックアップまたはスナップショットを作成してください。

Debian 12および13

修正済みのカーネルはセキュリティリポジトリにあります。有効になっていることを確認してください。

grep -r security.debian.org /etc/apt/sources.list /etc/apt/sources.list.d/

何も見つからない場合は、 security.debian.org リリース用のリポジトリを用意してください。その後、システムを更新してください。

apt update
apt full-upgrade
reboot

Ubuntu

修正済みカーネルはまだリリースされていません。アップデートを確認してください。

apt update
apt list --upgradable | grep linux-image

サーバーがUbuntu Proに接続されている場合は、修正プランを確認できます。

pro fix CVE-2026-98432 --dry-run

修正プログラムがリリースされたら、インストールして再起動してください。

apt update
apt full-upgrade
reboot

それまでは、手順3で説明した一時的な保護対策を必ず行ってください。

AlmaLinux 8、9、10

修正済みカーネルは現在、テストリポジトリでのみ入手可能です。本番サーバーでのインストールに問題がない場合のみインストールしてください。アップデート前に必ずスナップショットを作成してください。

dnf install -y almalinux-release-testing
dnf update 'kernel*' --enablerepo=almalinux-testing
dnf config-manager --disable almalinux-testing
reboot

再起動後、比較 uname -r 上記の表に記載されているバージョンを使用してください。テストパッケージをインストールしたくない場合は、一時的な保護を適用し、修正がメインリポジトリに反映されるまでお待ちください。

Rocky Linuxおよびその他のRHELベースのシステム

現時点では修正策はありません。以下の方法で状況を確認できます。

dnf --refresh updateinfo info --all --cves CVE-2026-98432

修正プログラムがリリースされたら:

dnf update kernel
reboot

アップデート後:再起動が必要です

新しいカーネルは再起動後にのみ有効になります。再起動が必要かどうかを確認するには、以下を参照してください。

# Debian and Ubuntu
[ -f /var/run/reboot-required ] && echo "Reboot required"

# AlmaLinux, Rocky, RHEL
needs-restarting -r

再起動後、手順1から再度確認を行ってください。

ステップ3.修正済みカーネルが利用可能になるまでの暫定的な保護

これらの対策はリスクを軽減するものの、カーネルのアップデートに取って代わるものではありません。

トリガーパケットをブロックする

この攻撃では、IPv4ヘッダーにIPオプションを含むTCPパケットが使用されます。これらのパケットは通常のトラフィックではほとんど発生せず、RFC 7126では既に破棄することが推奨されています。以下のnftablesルールは、オプションを含むすべての受信IPv4 TCPパケットを破棄し、IPv6、UDP、ICMPには影響を与えません。ufwおよびfirewalldと併用して動作します。

nftablesがインストールされていない場合はインストールしてください。

# Debian and Ubuntu
apt install -y nftables

# AlmaLinux, Rocky, RHEL
dnf install -y nftables

ルールファイルを作成します。

cat > /etc/cve-2026-98432.nft <<'EOF'
table ip cve_2026_98432 {
    chain pre {
        type filter hook prerouting priority -300; policy accept;
        meta l4proto tcp ip hdrlength gt 5 counter drop
    }
}
EOF

再起動後もルールを復元するには、systemdサービスを作成します。

cat > /etc/systemd/system/cve-2026-98432.service <<'EOF'
[Unit]
Description=Mitigation for CVE-2026-98432
After=network-pre.target nftables.service firewalld.service ufw.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=-/usr/sbin/nft delete table ip cve_2026_98432
ExecStart=/usr/sbin/nft -f /etc/cve-2026-98432.nft
ExecStop=/usr/sbin/nft delete table ip cve_2026_98432

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now cve-2026-98432.service

ルールが読み込まれていることを確認してください。

nft list table ip cve_2026_98432

nftables サービスをグローバルに再起動すると flush ruleset ルール、実行 systemctl restart cve-2026-98432 その後。

重要:このルールは、CIPSOラベル(SELinuxまたはSmack NetLabel)を使用しているネットワークには適用しないでください。これらのネットワークでは、IPオプションが通常どおり使用されます。サーバーが他のマシンのトラフィックをルーティングしている場合、このルールはIPオプション付きのTCPパケットも破棄します。

MPTCPが必要ない場合は無効にしてください。

sysctl -w net.mptcp.enabled=0
echo "net.mptcp.enabled = 0" > /etc/sysctl.d/99-disable-mptcp.conf

この設定は、 NEW MPTCPソケットが作成されないようにします。既に実行中のサービスはMPTCP経由でリッスンし続けるため、リストされているすべてのサービスを再起動してください。 ss -lnMp そして、出力が空になっていることを確認してください。

AlmaLinuxでは、MPTCPはデフォルトでは無効になっています。ただし、自分で有効にした場合は例外です。

GoプログラムでMPTCPを無効にする

Go 1.24以降で構築されたサービスの場合、環境変数を使用してMPTCPを無効にすることができます。たとえば、というサービスの場合 myservice:

systemctl edit myservice

開くファイルに以下を追加してください。

[Service]
Environment=GODEBUG=multipathtcp=0

次にサービスを再起動します。

systemctl restart myservice

X線検査の更新

サーバーでXrayを使用している場合は、バージョン26.10.31以降にアップデートしてください。以前のバージョンであるv26.10.29は、開発者によってサポートが終了しています。このアップデートではMPTCPは無効になりますが、カーネルの不具合は修正されないため、カーネルのアップデートも別途必要です。

もう1つの設定を確認してください

2つ目の、より限定的な悪用経路では、リクエスト移行を有効にする必要があります。デフォルトでは無効になっているので、必ず有効にしてください。

sysctl net.ipv4.tcp_migrate_req

コマンドは以下を出力するはずです 0.

サービスへのアクセスを制限する

インターネットからアクセスする必要のないファイアウォールポートはすべて閉じてください。可能な限り、SSH、コントロールパネル、データベースなどの管理サービスへのアクセスは、信頼できるIPアドレスのみに限定してください。

ステップ4. 修正済みカーネルをインストールした後

  1. サーバーを再起動し、手順1のコマンドを使用して、修正されたカーネルが実行されていることを確認してください。
  2. 一時的なルールは削除できます。
    systemctl disable --now cve-2026-98432.service
    rm /etc/systemd/system/cve-2026-98432.service /etc/cve-2026-98432.nft
    systemctl daemon-reload

  3. MPTCPが必要な場合は、設定を復元してください: 削除 /etc/sysctl.d/99-disable-mptcp.conf 実行する sysctl -w net.mptcp.enabled=1.

何かがうまくいかない場合

カーネルアップデート後にサーバーが起動しない場合は、コントロールパネルのVNCコンソールから接続し、ブートメニューで以前のカーネルを選択してください。ご自身でこの操作を行う自信がない場合、またはアップデートに関するサポートが必要な場合は、弊社のサポートチームまでお問い合わせください。


VPSについてお問い合わせください

私たちは昼夜を問わずいつでもお客様のご質問にお答えする準備ができています。