2026年7月24日(金)掲載 2,900本日 0
HN12177

「u32を渡しただけ」のつもりがルート権限を奪取!io_uringのZCRX freelistで発生するLPE脆弱性を解説

You gave me a u32. I gave you root. (io_uring ZCRX freelist LPE)

MrBruh3か月前

議論

11
0MrBruhスレ主1213か月前

Linuxカーネルのio_uringにおけるZCRX(Zero-Copy Receive)freelistの実装に起因するローカル権限昇格(LPE)の脆弱性についての技術解説です。型情報の取り扱いの不備を突くことで、本来想定されていないメモリ操作が可能となり、最終的に特権奪取へと繋がるプロセスを詳説しています。

1staticassertion3か月前

io-uringはセキュリティ的に悪夢。常に権限昇格の脆弱性があるし、システムコール・スマグリングの強力なプリミティブにもなる。いっそ無効化することを検討した方がいい(知ってる限り、ほとんどのコンテナ環境では既にそうしてるはず)。

2rishabhaiover3か月前

何が起きてるんだ?最近HNのトップページで複数の障害やCVEが報告されてる気がするんだけど。HNのトップでこれだけセキュリティやインシデント関連の記事を見るのは初めてだ。

3FriedFishes3か月前

これが新しいのかどうかよく分からないな。攻撃ベクトルは数ヶ月前の似たようなエクスプロイトと一致しているように見える[1]。でもまだ脅威は残ってるのかも。メーリングリストのスレッドでJensは既にパッチ済みで安定版に入っていると考えているようだし、この記事で書かれているエクスプロイトが成立するには、既に権限昇格が必要だと指摘している[2]。まあ、タイトルはキャッチーだけどね。

4kro3か月前

これにはCAP_NET/SYS_ADMINが必要か。それなら他のやつほど「悪質」ではないってことだな。

5stonegray3か月前

“CAP_SYS_ADMINで書き込み可能”

読み違えてるかな?これってCAP_NET_ADMINとCAP_SYS_ADMINの両方を持ってれば、uid=0で任意のバイナリを実行できるっていうただの方法じゃないの?modprobe_pathを書き換えられるなら、コードを実行する方法を見つけられるのは別にニュースでも何でもないでしょ。

6saghm3か月前

境界チェックなし。free_countは書き込みの前にインクリメントされるのに、書き込みにはインクリメント前の値がインデックスとして使われている。エントリ時にfree_count == num_niovsだと、freelist[num_niovs]、つまり末尾の1つ先へ書き込まれる。

「これを防ぐ方法はない」と言い切る、それが日常茶飯事で起きる唯一の言語っていうね。

7shorden3か月前

興味深いな。自分でテストしたわけじゃないけど、直感的には4バイトのOOB書き込みがあればPageJack のようなデータオンリー攻撃には十分だと思う。だからOPで議論されてるKASLRリークへの対策を固めたところで、今回の攻撃を防げるわけじゃないんじゃないかな。

8dundarious3か月前

関連するNICを持っていて、https://docs.kernel.org/networking/iou-zcrx.html にある非自動設定手順を踏んでいて、かつio_uringを無効化するようなVMやコンテナの中で動かしていないシステムってどれくらいあるんだ?これまでのio_uring関連の膨大な問題と比べると、影響度は低い方に思える。とはいえ、興味深くて重要なことに変わりはないけど。

10csmantle3か月前

最初は著者がoss-securityに投稿した内容で読んだ。結局、著者は「ルートシェルを取るためのadmin権限」の部分についてブログ記事を修正することに同意したみたいだ[^0]。[^1]の方が詳しいかもしれない。自分にはこのタイトルはクリックベイトに見えるな。