
English | 한국어
Linux システムが CVE-2026-99999(「PwnEscape」) の影響を受けているかどうかをチェックする単一のシェルスクリプトです。判定結果を説明したうえで、そのディストリビューション向けのパッチ手順を表示するか、あるいはシステムへのパッチ適用と再起動を自動で行います。
スクリプトに埋め込まれたベンダーデータは 2026-10-20 時点のものです。アドバイザリは頻繁に更新されるため、必ずお使いのディストリビューションのセキュリティトラッカーで確認してください。
| コンポーネント | Linux カーネル IPv4 スタック(skb_checksum_help → ip_do_fragment) |
| 原因 | virtio-net ヘッダーまたはパケットソケット経由で供給される checksum_start / csum_offset が IPv4 ヘッダーに対して検証されません。その結果、チェックサムの補完処理が、すでに検証済みのヘッダー長を上書きしてしまう可能性があります(CWE-20)。 |
| 影響 | ゲスト VM → ホスト:ホストのメモリ漏洩、ホストのクラッシュ、ホスト上での root 権限によるコード実行 |
| 深刻度 | CVSS 3.1 9.3 Critical(カーネル CNA)· 8.8 Important(Red Hat) |
| 影響範囲 | 2.6.27 以降のすべてのカーネル |
| 修正 | アップストリームコミット 6785011f8b16「ipv4: validate checksum_start before completing checksum」 |
| 回避策 | 公開されていません。唯一の修正方法は、修正済みカーネルで起動することです。 |
主なリスクは、信頼できないゲストを実行する仮想化ホスト(KVM/QEMU、Firecracker、Proxmox、クラウドおよび VPS ホスト)にあります。ゲストのカーネルにパッチを適用しても、ホストは保護されません。
| ファイル | 説明 |
|---|---|
scanner-cve-2026-99999.sh | スキャナー(英語出力) |
scanner-cve-2026-99999_kr.sh | 同じスキャナー(韓国語出力) |
どちらのファイルもロジックは同一で、メッセージとコメントのみが異なります。
| ファイル | SHA-256 | MD5 |
|---|---|---|
scanner-cve-2026-99999.sh | 65c3c226487d5bd80d436c06cc5256304cfa17011be82d8404c54355998801a6 | 8ab38c22ed737986775f6f64f5a800aa |
scanner-cve-2026-99999_kr.sh | 05d4af248ab2cab26566c81067ed35dd0a8c966f7fa8459867597c56ac43a805 | 6223f8db3c1a8dec361fe301a7193ff4 |
実行前にファイルを検証してください:
echo "65c3c226487d5bd80d436c06cc5256304cfa17011be82d8404c54355998801a6 scanner-cve-2026-99999.sh" | sha256sum -c
echo "8ab38c22ed737986775f6f64f5a800aa scanner-cve-2026-99999.sh" | md5sum -c
これらの値は v1.0.0 リリース 内のファイルに対応しています。それ以降のコミットのファイルでは異なる場合があります。
リリース版から(推奨):
curl -LO https://github.com/sqzer-x/cve-2026-99999-scanner/releases/download/v1.0.0/scanner-cve-2026-99999.sh
echo "65c3c226487d5bd80d436c06cc5256304cfa17011be82d8404c54355998801a6 scanner-cve-2026-99999.sh" | sha256sum -c
sudo bash scanner-cve-2026-99999.sh
またはリポジトリから:
git clone https://github.com/sqzer-x/cve-2026-99999-scanner.git
cd cve-2026-99999-scanner
sudo bash scanner-cve-2026-99999.sh
ホスト上で実行してください。コンテナ内では実行しないでください。チェックは一般ユーザーで動作します。root(sudo 経由)が必要なのはメニューオプション 1 のみです。
ディストリビューション(/etc/os-release)と実行中のカーネル(/proc)を検出します。
カーネルを判定します:
適用済みの livepatch(kpatch、Canonical Livepatch、SUSE kernel-livepatch、Ksplice)、インストール済みだがまだ起動していない修正済みカーネル、および次回起動カーネルが修正済みかどうかを確認します。
露出インジケーターを報告します:/dev/kvm、vhost_net、TUN/TAP デバイス、VM プロセス(QEMU、Firecracker、Proxmox の kvm など)、ユーザー名前空間の設定。
システムが安全でない場合、メニューを表示します:
1. Patch now (install the fixed kernel and reboot)
2. Patch manually later (show the commands)
3. Exit
ターミナルから実行していない場合(cron、パイプ、出力をファイルにリダイレクトした場合など)は、メニューは表示されず、オプション2と同じ動作になります。
| オプション | 説明 |
|---|---|
-l, --list | ディストリビューションごとのステータステーブルのみを表示する |
--no-color | 色付き出力を無効にする(NO_COLOR も有効) |
--os-release FILE | /etc/os-release の代わりにこの os-release ファイルを使用する |
--uname-r STRING | 実行中のカーネルではなく、このカーネルリリースを判定する(ローカルチェックをスキップ) |
--uname-v STRING | カーネルのビルド文字列(uname -v)。--uname-r を指定した Debian カーネルで必要 |
-h, --help | ヘルプを表示する |
| コード | 意味 |
|---|---|
| 0 | 安全(修正済み、影響なし、またはライブパッチ済み) |
| 1 | 脆弱 — 修正済みカーネルが利用可能 |
| 2 | 修正済みカーネルがインストール済み — 再起動が必要 |
| 3 | 脆弱 — ベンダーによる修正がまだない、またはサポート終了 |
| 4 | 判定不能(不明なカーネル、コンテナ内で実行中など) |
これらの終了コードにより、構成管理や監視から利用できます:
bash scanner-cve-2026-99999.sh --no-color > report.txt; echo "exit code: $?"
判定結果は、たとえばコンテナやインベントリなど、別の場所で収集された値に対しても計算できます:
# On the target: uname -r ; uname -v ; cat /etc/os-release > os-release.txt
bash scanner-cve-2026-99999.sh --uname-r 5.14.0-570.12.1.el9_6.x86_64 --os-release os-release.txt
bash scanner-cve-2026-99999.sh --uname-r 6.1.0-38-amd64 \
--uname-v '#1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-08-02)' --os-release os-release.txt
bash scanner-cve-2026-99999.sh --list は同じ表を出力します。
| ディストリビューション | ステータス | 修正バージョン |
|---|---|---|
| アップストリーム(kernel.org) | 修正済み | 5.10.272 · 5.15.223 · 6.1.190 · 6.6.159 · 6.12.113 · 6.18.57 · 7.2.11 · 7.3-rc7。その他のブランチはサポート終了です。 |
| AlmaLinux 8 / 9 / 10 | 修正済み(almalinux-testing リポジトリ、2026-10-16) | kernel-4.18.0-553.174.2.el8_10 · kernel-5.14.0-687.57.2.el9_8 · kernel-6.12.0-211.66.2.el10_2 |
| AlmaLinux Kitten 10 | 次回の定期カーネル更新 | — |
| RHEL 7 / 8 / 9 / 10 | 影響あり、修正未提供 | — |
| Rocky Linux、CentOS Stream、その他の RHEL 互換 | 修正未公開 | — |
| Oracle Linux UEK | 修正済み | UEK R6 5.4.17-2136.360.3.1(ELSA-2026-500397) · UEK R7 5.15.0-325.221.6.4(ELSA-2026-500398) · UEK R8 6.12.0-207.111.5.4(ELSA-2026-500399) |
| Oracle Linux RHCK | アドバイザリなし | — |
| Amazon Linux 2 | 修正済み | 4.14 4.14.355-287.753(ALAS2-2026-3962) · 5.4 5.4.302-229.498(ALAS2KERNEL-5.4-2026-131) · 5.10 5.10.269-270.1108(ALAS2KERNEL-5.10-2026-133) · 5.15 5.15.221-157.262(ALAS2KERNEL-5.15-2026-117) |
| Amazon Linux 2023 | 修正済み | kernel 6.1.188-233.385(ALAS2023-2026-3197) · kernel6.12 6.12.110-135.201(ALAS2023-2026-3196) · kernel6.18 6.18.54-121.166(ALAS2023-2026-3192) |
| Debian | 修正済み | bookworm 6.1.190-1(DLA-4841-1) · trixie 6.12.113-1(DSA-6568-1) · forky/sid 7.2.11-1。bullseye 以前は追跡対象外です。 |
| Ubuntu 14.04 – 26.04 | 評価が必要、修正未提供 | — |
| SLES 12 SP5 / 15 SP4–SP7 / 16.x、SLE Micro、openSUSE Leap 16 | 影響あり、対応待ち | — |
| openSUSE Leap 15.x、SLES 15 SP1–SP3 | サポート終了 | — |
| Fedora、Arch、openSUSE Tumbleweed、Alpine、Gentoo | アップストリームの stable に追従 | アップストリームの行を参照 |
AWS は、EC2、Lambda、Fargate のホストインフラストラクチャは影響を受けないと述べていますが、Amazon Linux インスタンスでは依然としてそれぞれのカーネルを更新する必要があります。
dnf/yum update 'kernel*'、および Debian/Ubuntu ではインストール済みの linux-* パッケージのみを --no-remove 付きで更新します(自動インストールされたパッケージはそのマークが維持されるため、古いカーネルは引き続き apt autoremove でクリーンアップされます)。pacman -Syu、zypper dup、apk upgrade、transactional-update dup、Proxmox の apt-get dist-upgrade。/boot の空き容量が 100 MB 未満の場合はパッチ適用を開始しません。grubby のデフォルト、それ以外の場合はインストール済みの最新カーネル、または SLE Micro / MicroOS では次の btrfs スナップショット)、およびそのカーネルイメージと initramfs が存在することを確認した後にのみ再起動します。GRUB_DEFAULT が 0 でない場合、または bash が利用できない場合は yes と入力する必要があります。bash、awk、sed、grep、coreutils を備えた Linux。sh で起動された場合、スクリプトは bash の下で自身を再実行します。rpm / dpkg、systemd-detect-virt、grubby、gzip、stat、df、btrfs。grubby のない GRUB システムでは、次回起動されるのはインストール済みの最新カーネルであると想定されます(GRUB_DEFAULT=0)。