HN 日本語サマリー

← 一覧へ戻る
セキュリティ

CVE-2026-53361 AF_Unix GC vs. MSG_PEEK 使用後解放コンテナエスケープ

CVE-2026-53361 AF_Unix GC vs. MSG_PEEK use-after-free container escape (github.com)

10 pointsby eyberg0 コメント

要約

この記事は、LinuxカーネルのAF_UNIXソケット実装における、CVE-2026-53361として識別された使用後解放(use-after-free)の脆弱性について解説しています。この脆弱性は、MSG_PEEK操作とソケットのガベージコレクタ(GC)の競合により発生し、コンテナ環境下で特権昇格やコンテナエスケープを可能にする可能性があります。過去にも類似の脆弱性が複数回修正されているにも関わらず再発しており、攻撃者は特定のカーネルバージョンでこの脆弱性を悪用できることが示されています。

全文翻訳

BAD_GARBAGE.c CVE-2026-53361 — 非特権ユーザーでもコンテナから脱出可能な、AF_UNIXソケットのガベージコレクタにおける使用後解放。 これは単一ベクトル(MSG_PEEKのみ)のバージョンです。 バグ AF_UNIX GCは、「インフライト」ソケット(参照サイクルを形成して到達不能になっているもの)を回収します。 インフライト中のfdに対する並行MSG_PEEK操作は、GCの集計に含まれない参照を取得します。そのため、コレクタはまだ生きているソケットを解放し、ダングリングsk_buffを残す可能性があります。 GC実行中に、PEEKはバックオフするはずですが、チェックするgc_in_progressフラグが実行中に誤ってfalseを読み取る可能性があるため、PEEKがすり抜け、競合が発生します。 同じ相互作用が3回修正されました。 CVE-2021-0920 — cbcf01128d0a "af_unix: garbage collect vs MSG_PEEK を修正" CVE-2026-23394 — e5b31d988a41 "af_unix: MSG_PEEK が介入した場合にGCを断念する" CVE-2026-53361 — d82ba05263c6 "af_unix: unix_gc() でgc_in_progress を true に設定する" ターゲット 脆弱 = バグの影響を受ける。 標的 = このエクスプロイト(単一MSG_PEEKベクトル)でカバーされる。 7.xカーネルとUbuntu 6.8 GAカーネルは脆弱ですが、ここでは範囲外です。 カーネル | 脆弱 | パッチ済み | 標的 ------- | -------- | -------- | -------- Stable 6.12 | 6.12 | Y | 6.12.95 (up to 6.12.94) Ubuntu 24.04 HWE | 6.17 | Y | N Ubuntu 24.04 GA | 6.8 | Y | N (non-PEEK vector) RHEL 10 | 6.12 | Y | Y Debian trixie | 6.12 | DSA-6381-1 | up to 6.12.94+deb13-cloud-amd64 テストされたカーネルのいくつか ライン | 最新テストカーネル | ビルド日 | ディストリビューション ------- | -------- | -------- | -------- Debian 13 (trixie) | 6.12.94+deb13-cloud-amd64 | 2026年6月20日 | Ubuntu 24.04 (6.17) | 6.17.0-41-generic | 2026年6月30日 | Ubuntu 24.04 (6.14) | 6.14.0-37-generic | 2025年11月20日 | (old HWE) CentOS Stream 10 | 6.12.0-257.el10 | 2026年8月6日 13:25 GMT | RHEL 10.2 / AlmaLinux | 6.12.0-211.43.1.el10_2 | 2026年8月6日 17:19 GMT | 注 CPU数 — 8 CPU未満(2〜7)向けに設計されています。信頼性の問題ではなく、選択です。クリーンなオーダーN戦略は意図的に除外されており、-1日バグのために公開する価値はありません。 SLUBキャッシュアーマリング — ほとんどのキャッシュアーマリング/シャドーイングコードはPoCから削除されました。SIDリークフェーズは、時折、偽の低位kmalloc()や特定のキャッシュPCP再利用(anon_vma、kmalloc-64など)と衝突する可能性があります。高位バケットは安全ですが、専用キャッシュや低位バケットは安全ではありません。アーマリングを追加して、約100%に近づけてください。