CVE-2025-21756: How a Tiny Linux Kernel Bug Led to a Full Root Exploit, PoC Releases
2025/04/29 SecurityOnline — Linux Kernel の vsock サブシステムに影響を与える、解放後使用 (UAF) の脆弱性 CVE-2025-21756 の全容が、セキュリティ研究者である Michael Hoefler の分析で、を明らかになった。当初は、vsock_remove_sock() の動作を数行で変更する単純なコード調整から始まり、最終的には、ローカル権限昇格 (LPE) とカーネル・コード実行へと至るものだという。

Michael Hoefler は、「カーネル内でオブジェクトの参照カウンタがゼロに達すると、そのオブジェクトは対応するメモリ・マネージャへ向けて解放される。その際に、つまり、vsock オブジェクトを解放した後に、何らかの解放後使用 (UAF) をトリガーして、より高度なプリミティブを取得し、権限を昇格できるようになる」と説明している。
この脆弱性は、トランスポートの再割り当て時に、ソケットのバインド状態が適切に処理されないことに起因する。具体的には、前もって vsock コードがバインドされていないソケットの、参照カウンタを誤って減らされることで、vsock オブジェクトの早期解放につながっていた。
パッチ分析メモには、「トランスポートの再割り当てにより、vsock_remove_sock がトリガーされ、vsock_remove_bound が呼び出され、vsock オブジェクトの参照カウンタが誤って減少する可能性がある。それにより、攻撃者に対して強力なエクスプロイト・プリミティブの悪用を許す、危険な UAF 状態が発生していた」と記されている。
初期のエクスプロイト試行では、カーネル・パニックが引き起こされ、Linux Security Module (LSM) フックを介して、AppArmor がソケットの解放時に sk_security ポインタを消去し、直接的な関数ポインタの破損を阻止していることが判明した。
Michael Hoefler は、「カーネルはソケットに対する dangling pointer を提供するが、それが有効化される前に、AppArmor がクラッシュさる。 そのため、攻撃者はエクスプロイトを継続するために、AppArmor による保護が行われていないおカーネル関数を見つける必要があった」と述べている。
AppArmor で保護される関数に依存しながら、Kernel Address Space Layout Randomization (kASLR) を回避するために、Hoefler が利用したのは、保護のない netlink 診断ツール vsock_diag_dump() 関数である。
それにより、細工したパイプ・バッファを用いて、解放された vsock ソケットを回収し、vsock_diag_dump をサイドチャネルとして利用することで、有効な skc_net ポインタに対して総当たり攻撃を仕掛け、kASLR を回避することが可能になったという。
Michael Hoefler は、「分析に行き詰まったので、kernelctf コミュニティに頼った。そうしたら、@h0mbre が、vsock_diag_dump をサイド・チャネルとして用いて、skc_net ポインタに対して総当たり攻撃を仕掛ける方法を提案してくれた。それにより、既知のメモリ・オフセットを持ち、そこにつながっているソケット・オブジェクトを完全に制御できるようになった」と解説している。
Hoefler は、コード実行の権限を取得するために、vsock_release() 関数を悪用した。 AppArmor による保護がないため、sk->sk_prot->close 関数ポインタの乗っ取りが達成され、ROP (Return-Oriented Programming) チェーンへと移行できたという。
彼は、「私たちが最も注目しているのは、sk->sk_prot->close(sk, 0) の呼び出しである。sk を制御しているので、関数へのポインタに対する、有効なポインタが必要だった。最後の ROP チェーンは、commit_creds(init_cred) と呼ばれ、攻撃者に対してルート権限を付与し、その実行を、ユーザー空間にクリーンに返すものだ」と付け加えている。
Hoefler の、PoC エクスプロイト・コードは、ココで参照できる。
ポインタが生み出す、とても恐ろしい話であり、ポインタと使う以上、どこまでも付いてまわる話だと思います。このあたりも、Security by Design の範疇のはずですが、その後の進捗は、どうなっているのでしょうか? なんとなく、懐かしい存在になってきました。トランプが暴れるので、それどころではないのでしょうか?

You must be logged in to post a comment.