概要
Bytedeskのバージョン1.3.9以前において、サーバーサイドリクエストフォージェリ(SSRF)の脆弱性(CVE-2026-3789)が発見されました。この脆弱性は、SpringAIGiteeRestControllerコンポーネント内のSpringAIGiteeRestService.javaファイルにあるgetModels関数が、apiUrl引数の操作によって悪用されることで発生します。
SSRFは、攻撃者がサーバーに任意のURLへのリクエストを強制させることができる脆弱性です。これにより、サーバーがアクセス可能な内部ネットワークのリソースへの不正なアクセスや、機密情報の漏洩につながる可能性があります。
影響範囲
- 製品: Bytedesk
- 影響を受けるバージョン: 1.3.9以前のバージョン
- 影響を受けるコンポーネント:
SpringAIGiteeRestController - 影響を受けるファイル/関数:
source-code/src/main/java/com/bytedesk/ai/springai/providers/gitee/SpringAIGiteeRestService.java内のgetModels関数
想定される影響
この脆弱性が悪用された場合、攻撃者はBytedeskアプリケーションが動作しているサーバーから、任意の内部または外部のURLへリクエストを送信させることが可能になります。これにより、以下のような影響が想定されます。
- 内部ネットワークへのアクセス: サーバーがアクセス可能な内部システムやサービス(データベース、管理インターフェースなど)への不正なアクセス。
- 情報漏洩: 内部ネットワーク上の機密情報や、サーバーがアクセスできるクラウドサービスの設定情報などの取得。
- ポートスキャン: 内部ネットワークのポートスキャンを実行し、他の脆弱性を持つサービスを特定。
- サービス拒否(DoS): 内部サービスへの過剰なリクエストにより、サービス停止を引き起こす可能性。
攻撃成立条件・悪用状況
この脆弱性は、apiUrl引数を操作することでリモートから悪用される可能性があります。報告によると、この脆弱性に対するエクスプロイトコードは既に公開されており、悪用されるリスクが高い状況にあると考えられます。
推奨対策
今すぐできる対策(優先度:高)
- バージョンアップの実施: Bytedeskをバージョン1.4.5.4以降にアップグレードしてください。このバージョンには、本脆弱性を修正するパッチ(
975e39e4dd527596987559f56c5f9f973f64eff7)が含まれています。
中長期的な対策
- 入力値の厳格な検証: アプリケーションが外部から受け取るURLやパスに関する入力値は、常に厳格な検証とサニタイズを行うようにしてください。許可されたプロトコル、ドメイン、パスのみを許可するホワイトリスト方式の導入を検討してください。
- ネットワークセグメンテーション: アプリケーションサーバーが内部ネットワークの機密性の高いリソースに直接アクセスできないよう、ネットワークセグメンテーションを強化し、最小権限の原則を適用してください。
- セキュリティ監視の強化: アプリケーションのログを監視し、異常な外部リクエストや内部リクエストのパターンを検出できるよう、セキュリティ監視体制を強化してください。
一時的な緩和策
現時点では、バージョンアップ以外の明確な一時的な緩和策は報告されていません。可能な限り速やかに推奨対策を実施してください。
確認方法
お使いのBytedeskのバージョンが1.3.9以前である場合、本脆弱性の影響を受ける可能性があります。製品のバージョン情報を確認し、必要に応じてアップグレードを検討してください。