何が起きたか
3.20.1780-lts より前の ToolJet は、POST /api/data-sources/decrypt エンドポイントを公開しており、参照されている credential_id へのアクセス許可を確認することなく、保存された認証情報をプレーンテキストで復号化して任意の認証済み呼び出し元に返します。任意の ToolJet アカウントを持つ攻撃者は、すべての AI エージェントデータソース全体で使用されているすべての API キー、データベースパスワード、およびサービス認証情報を列挙して抽出できます。
なぜ重要か
ToolJet は AI エージェントワークフローに接続されているすべてのデータソース — データベース、API、クラウドサービス、AI プロバイダーキーの認証情報を保存します。制限のないプレーンテキスト認証情報復号化により、任意の認証済みユーザーはプラットフォーム全体のシークレットストアのマスターキーダンプを事実上入手でき、すべての下流の AI インフラストラクチャおよびデータソースの完全な侵害が可能になります。
攻撃経路
任意の認証済みユーザーは、POST /api/data-sources/decrypt エンドポイントを任意の credential_id で呼び出し、その認証情報のプレーンテキスト復号化値を受け取ることができます。呼び出し元が参照されている認証情報を所有しているか、アクセス権を持っているかを確認する認可チェックがありません。これにより、保存されているすべてのシークレットの体系的な列挙と抽出が可能になります。
影響を受けるシステム
ToolJet < 3.20.1780-lts
緩和策
ToolJet 3.20.1780-lts にアップグレードしてください。アドバイザリ: https://github.com/ToolJet/ToolJet/security/advisories/GHSA-x7qj-hfg8-p4cw