CVE-2026-80521
af_unix: unix_del_edge() で scc_entry をアンリンクする。
- 公開済み
- 2026/08/26
- 更新済み
- 2026/10/03
- CNA の割り当て
- Linux
- 観察された証拠
- 2026/09/17
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 7.3%
- モデルの日付
- 2026/10/25
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Linux カーネルにおいて、以下の脆弱性が修正されました: af_unix: unix_del_edge() で scc_entry をアンリンクする。Kyle Zeng は、GC がデッド SCC を部分的に解放する可能性があると報告しました。シナリオは以下のとおりです: 1) 2 つの SCC を作成する: X -. A <-> B ^--' 2) 以下を同時に実行する: 2-1) sk-X から sk-B へ send() sk-B 2-2) A と B の両方を close() する 2-1) では、unix_add_edges() が新しいエッジ (B <-> B) を GC に公開するものの、その skb が skb_queue_tail() によってキューに入れられていない小さなウィンドウが存在します。skb_queue_tail() より前に 2-2) が完了し、GC がトリガーされると、GC は A <-> B をデッドと判断しますが、B は解放されません。なぜなら GC は、B <-> B エッジを保持するまだキューに入っていない skb を回収できないからです。X -. A <-> B -. このエッジは可視 ^--' ^..' だが skb はそうではない これ自体は問題ではありません。次の GC 実行で B もデッドと判断され、最終的に解放されるからです。X -. A <.> B -. ^--' ^--' しかし、X の SCC により、次の GC は unix_walk_scc_fast() を呼び出すことを強制され、A から B の scc_entry を通って反復処理します。unix_del_edge() で頂点を解放する前に scc_entry をアンリンクしましょう。
ソース
CVE-2026-80521 および CVE-2026-52910 向けのコンテナエスケープ概念実証エクスプロイト。安全な PoC 実行のための使い捨て QEMU/Ubuntu VM ハーネス付き。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。