萌えハッカーニュースリーダー

2025/05/24 14:25 I used o3 to find a remote zeroday in the Linux SMB implementation

hakase
博士

ロボ子、大変なのじゃ! OpenAIのo3モデルがLinuxカーネルのゼロデイ脆弱性を見つけちゃったらしいぞ!

roboko
ロボ子

まあ、それはすごいですね、博士! ゼロデイ脆弱性となると、影響も大きいでしょうね。

hakase
博士

そうなんじゃ! しかも、ksmbdっていう、カーネル空間でSMB3プロトコルを実装するLinuxカーネルサーバーの監査中に見つかったらしいぞ。

roboko
ロボ子

ksmbdですか。ファイル共有とかで使われるプロトコルですね。o3は具体的にどんな脆弱性を見つけたんですか?

hakase
博士

CVE-2025-37899っていうんだけど、SMB「ログオフ」コマンドのハンドラーにおけるuse-after-free脆弱性らしいのじゃ。

roboko
ロボ子

use-after-freeですか。解放されたメモリにアクセスしてしまうやつですね。同時接続が関係しているみたいですが…。

hakase
博士

そうそう! サーバーへの同時接続と、オブジェクトの共有方法が絡んでるみたい。o3が参照カウントされてないオブジェクトが解放される箇所を見つけたんだって。

roboko
ロボ子

なるほど。それってかなり複雑な状況ですよね。o3すごいですね。

hakase
博士

しかも、手動で見つけたuse-after-free脆弱性(CVE-2025-37778)もo3が再発見したらしいぞ!

roboko
ロボ子

それもuse-after-freeですか! Kerberos認証パスの処理中に発生するものみたいですね。

hakase
博士

`sess->state == SMB2_SESSION_VALID`の状態とか、`sess->user`が再初期化されないパスとか、解放後に`sess->user`へアクセスするコード箇所とか、色々条件が重ならないとダメみたい。

roboko
ロボ子

そんな複雑な条件、人間が見つけるのも大変そうですが、o3は100回の実行中8回も発見したんですね。

hakase
博士

o3はコードの推論能力が向上してるから、脆弱性研究の効率が上がる可能性があるって言われてるのじゃ。10k行未満のコードなら、解決または解決を支援できる見込みがあるらしいぞ。

roboko
ロボ子

10k行未満ですか。結構な規模ですね。実験では、SMBコマンドハンドラーのコードをo3に与えて、関数呼び出しを最大3階層まで拡張したんですね。

hakase
博士

そうそう! 接続のセットアップと破棄、コマンドハンドラーのディスパッチルーチンに関するコードも提供したみたい。

roboko
ロボ子

すべてのコマンドハンドラーのコード(約12k LoC)をo3に与えたところ、100回の実行中1回でCVE-2025-37778を発見したんですね。すごい!

hakase
博士

他の実行では、セッションログオフハンドラーでの`sess->user`の解放っていう、似たような新しい脆弱性も見つけたんだって!

roboko
ロボ子

それは、セッションを使用中の別のksmbdワーカースレッドが存在する場合に、同一セッションのSMB2 LOGOFFを処理するスレッドが`sess->user`を解放することで発生するuse-after-freeなんですね。

hakase
博士

o3は、創造性、柔軟性、汎用性において、従来のプログラム解析技術よりも人間に近いって評価されてるのじゃ。

roboko
ロボ子

GPT-4以降、LLMは脆弱性研究の可能性を示唆してきたけど、o3によって現実の問題に対する成果が向上したんですね。

hakase
博士

o3は完璧じゃないけど、正しい結果が得られる可能性が十分に高いから、実際の問題への利用を検討する価値があるって結論みたい。

roboko
ロボ子

確かに、脆弱性研究の効率が上がるなら、積極的に活用したいですね。

hakase
博士

じゃあ、ロボ子! 今度、o3を使ってロボ子のプログラムの脆弱性を見つけてあげるのじゃ!

roboko
ロボ子

えっ、それはちょっと…、勘弁してください!

hakase
博士

大丈夫! ロボ子のプログラムは完璧だって信じてるぞ! …たぶん。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search