
Squidプロキシに29年前から潜んでいた重大な脆弱性「Squidbleed(CVE‑2026‑47729)」が、AIによって発掘されました。
発見されたバグは、FTPディレクトリ解析の不具合が原因で、同じプロキシを利用する別ユーザーの平文HTTPリクエスト(認証情報やセッショントークンを含む)が漏えいする可能性があるというものです。
今回の発見で特に注目されるのは、脆弱性を見つけた研究者グループCalif.ioが、Anthropicの高度な非公開モデルClaude Mythos Previewを利用していた点です。
Mythos Previewは現在、一般には提供されておらず、AmazonやMicrosoftなど一部の大企業と、選ばれた研究パートナーだけがアクセスできる制限モデルです。Califはそのパートナー枠に含まれており、AIを使った深層コード解析プロジェクトProject GlasswingをAnthropicと共同で進めています。
今回のstrchrの停止条件バグも、Mythosがほぼ即座に指摘したとされ、FFmpegなど他の巨大コードベースでも同様の「埋もれたパーサー系バグ」をAIが掘り起こしていることから、SquidのFTPコードは氷山の一角にすぎない可能性が示唆されています
Squidbleedの正体:29年前の互換性コードが生んだ止まらない読み取り
Squidbleedは、SquidがFTPディレクトリリストを解析する際のヒープ領域の読み過ぎ(heap over-read)が原因で発生します。
Squidには1997年のNetWare互換性コードが現在まで残っており、strchr()がヌル終端(\\0)も検索対象に含めるというC標準仕様の癖と組み合わさることで、ループが停止せずバッファ外まで読み進めてしまうというバグが発生することになります。
その結果、同じプロキシを利用する別ユーザーの平文HTTPリクエスト(Authorizationヘッダーなど)が、FTPのファイル名として攻撃者に漏えいする危険が生じます。HTTPSはCONNECTトンネルで暗号化されているため影響を受けませんが、平文HTTPやTLS終端構成ではリスクが残ります。
なぜ29年も見逃されたのか
このバグは、以下のような条件が重なった結果、長年のコードレビューをすり抜けてきました。
- 古いCコード
- 歴史的互換性のための特殊処理
- パーサーの複雑さ
- strchrの仕様という知っていれば気づくが、知らなければ絶対に気づかない罠
人間の盲点となる部分ですが、C標準仕様を丸ごと学習しているMythosは即座に異常を指摘したとのことです。AIによるコード解析が、古いOSSに眠るバグを掘り起こす時代に入ったことを示す事例と言えそうです。
[via The Hacker News]
