CVE-2026-77776 Headroom LLMプロキシヘッダー脆弱性とDockerデフォルトの注意点

この記事はAIがNVDのCVE情報をもとに要約・生成したものです。影響範囲や対策は、必ずNVDおよび各ベンダーの公式情報をご確認ください。

公開日: 2026-08-21T12:16:36.967 / 更新日: 2026-08-21T12:16:36.967 / CVSS: 9.1 / 深刻度: CRITICAL

HeadroomのLLMプロキシで、リクエストヘッダー「x-headroom-user-id」が不正に利用され、他のユーザーのメモリにアクセスできる可能性のある脆弱性が報告されています。Dockerデフォルト設定では認証不要でポートが公開されるため、ネットワーク上の攻撃者に悪用されるリスクがあります。現行の設定で「–host 0.0.0.0」が有効な場合、プロキシトークンの設定やローカルホスト限定の制限が必須です。修正にはコードの変更と、プロキシトークンの有効化が含まれており、運用環境のdocker-compose.ymlや起動引数の再確認が求められます。サーバーが起動時に警告を出力するため、該当する設定を確認し、必要に応じてパッチ適用やセキュリティ設定の見直しを実施してください。

参照情報

ソクラテスの問い、プラトンの備え

ソクラテス

プラトンよ、この脆弱性の本質は「信頼の誤置」にあるように思われる。ユーザーIDのヘッダーが無防備に扱われ、結果として他人のメモリにアクセスできるという構造は、哲学的な「他者への信頼」を技術的レベルで具現化している。だが、この信頼がどこで崩れるのか、君はどう考える?

プラトン

ソクラテス、ご指摘通りです。しかし現実的には、この「信頼」はDockerのデフォルト設定が原因です。まず、運用者はdocker-compose.ymlの`–host 0.0.0.0`が設定されているかを確認すべきです。この設定により、外部からのアクセスが許可され、認証なしにポートが公開されます。また、`HEADROOM_PROXY_TOKEN`が必須設定になっていない場合、攻撃者が簡単にトークンを無視してアクセスできるリスクがあります。

ソクラテス

なるほど。では、この「信頼の誤置」を修正するためには、技術的手段と運用的配慮の両方が必要だ。例えば、コードの修正で`resolve_memory_identity`を導入するだけでなく、運用者はプロキシトークンの有効化やローカルホスト限定の制限を検討すべきだ。だが、運用者にとっての課題は、この変更が既存の構成に与える影響をどう把握するかではないか?

プラトン

その通りです。まず、サーバー起動時の警告メッセージを確認し、該当する設定が有効になっているかをチェックすべきです。次に、`docker-compose.yml`や起動引数に`–host 127.0.0.1`が設定されているかを確認し、必要であれば変更します。また、プロキシトークンの設定が適切か、およびローカルホスト以外のアクセスを許可するリスト(allowlist)が正しく定義されているかを確認する必要があります。

ソクラテス

では、この脆弱性の影響を調査する際、運用者は何に注目すべきだろう?

プラトン

まず、`x-headroom-user-id`ヘッダーがどの時点で使用されているかをコードレベルで確認し、それが不正に利用できないかを検証する必要があります。また、現行の設定が`–host 0.0.0.0`で動作している場合、ネットワーク上のアクセスを許可している可能性が高いため、セキュリティ設定の見直しが不可欠です。パッチ適用の際には、変更管理のプロセスに従い、変更履歴を明確に記録し、監視システムに異常を検知させる仕組みを整えることが重要です。

ソクラテス

最後に、ベンダー情報の確認について言及せよ。

プラトン

当然です。Headroomの公式ドキュメントやリリースノートを確認し、今回の修正がどのバージョンに含まれているかを確認してください。また、`pip`でインストールした場合、`headroom/proxy/identity.py`に`resolve_memory_identity`が正しく実装されているかをコードレベルで検証する必要があります。ベンダーが提供するセキュリティガイドラインに従い、運用環境に合った設定を適用することが、リスク低減の鍵です。

ソクラテス

では、この脆弱性の対応は、哲学的にも技術的にも「信頼の再構築」に他ならない。運用者は、この「信頼」がどこに存在し、どこで破壊されるのかを常に意識すべきだな。

プラトン

その通りです。ただし、Dockerのデフォルト設定が「パーティーに招待されたつもりで、実際は誰でも入場可能」な状態になっているケースが多いため、まずは設定を確認し、セキュリティの「ゲート」をしっかり閉めることが急務です。

関連キーワード: bind, docker