30秒で判断
対応すべき人:
- Flowise 3.0.13以前を本番環境で稼働させている
JWT_AUTH_TOKEN_SECRET、JWT_REFRESH_TOKEN_SECRET、JWT_AUDIENCE、JWT_ISSUER環境変数を設定していない- エンタープライズ認証機能(パスポートミドルウェア)を有効にしている
対応不要な人:
- Flowise 3.1.0以降を使用中
- JWT環境変数をすべて独自の値に設定済み
- Flowiseを使用していない
確認コマンド:
# Flowiseのバージョン確認
flowise --version
# または
cat node_modules/flowise/package.json | grep '"version"'
# 環境変数の設定確認
echo $JWT_AUTH_TOKEN_SECRET
echo $JWT_REFRESH_TOKEN_SECRET
概要
FlowiseのエンタープライズパスポートベースのJWT認証ミドルウェア(packages/server/src/enterprise/middleware/passport/index.ts)は、以下の環境変数が設定されていない場合にハードコードされたデフォルト値にフォールバックします。
| 環境変数 | デフォルト値(公知) |
|---|---|
JWT_AUTH_TOKEN_SECRET | auth_token |
JWT_REFRESH_TOKEN_SECRET | refresh_token |
JWT_AUDIENCE | AUDIENCE |
JWT_ISSUER | ISSUER |
これらのデフォルト値は公開されたソースコードから誰でも確認できるため、攻撃者はこの既知の秘密鍵を使って任意の有効なJWTを生成し、管理者を含む任意のユーザーとしてシステムにアクセスできます。
CVSSベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
| CVSSスコア | 9.8(Critical) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Flowise | FlowiseAI | 3.0.13以前 |
修正バージョンと回避策
修正バージョン: Flowise 3.1.0以降
回避策(アップデートが困難な場合): すべてのJWT関連環境変数を独自のランダムな文字列に設定します。
# 安全なランダム文字列の生成例
export JWT_AUTH_TOKEN_SECRET=$(openssl rand -hex 32)
export JWT_REFRESH_TOKEN_SECRET=$(openssl rand -hex 32)
export JWT_AUDIENCE="your-app-name"
export JWT_ISSUER="your-company.com"
関連リンク
データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
