Bruno API Client の脆弱性 CVE-2025-30354/30210 が FIX:RCE などの恐れ

High-Severity Vulnerabilities in Bruno API Client Expose Users to Potential RCE

2025/04/03 SecurityOnline — Bruno プロジェクトが公表したセキュリティ・アドバイザリは、Bruno API クライアントに存在する深刻な脆弱性を明らかにするものであり、信頼できないソースからのコレクションをインポートする際のリスクを強調している。ファイル・システム上のフォルダに、コレクションをダイレクトに保存する Bruno は、プレーン・テキスト・マークアップ言語である Bru を用いて、API リクエストに関する情報を保存する。この方式は、Postman などのツールに代表される現状を刷新する、革新的な API クライアントとして位置付けられている。

この Bruno で特定された脆弱性は、ユーザーのシステム上での任意のコード実行を、攻撃者に許す可能性があるものだ。

CVE-2025-30354:Safe-Mode バイパス

1つ目の脆弱性 CVE-2025-30354 (CVSSv4:8.7) は、Assert 表現における Safe-Mode バイパスに関係するものだ。アドバイザリには、「アサーション・ランタイムのバグにより、Safe-Mode が選択されていても、開発者モードで Assert 表現が実行される。このバグは、なんらかのリクエストが実行/送信されるときに、サンドボックス設定を事実上無視する」と記されている。

悪意の Bruno コレクションを作成する攻撃者は、ユーザーを騙すことで、Bruno アプリ内でのダウンロード/オープンへと誘導し、この脆弱性の悪用を達成する。アドバイザアリには、「開発者モードで実行されるコードは、ファイル・システムへのアクセスが可能であり、また、システム・コマンドの実行も可能であるため、それらを悪用する攻撃者により、被害が発生する可能性がある」と記されている。

CVE-2025-30210:環境名の XSS

2つ目の脆弱性 CVE-2025-30210 (CVSSv4:8.7) は、環境名の処理方法に関連する XSS (Cross-Site Scripting) の欠陥である。アドバイザリには、「この問題は、コレクション環境とグローバル環境の名前にマウスを合わせたときの、ツールチップの表示方法におけるバグに起因する」と記されている。

この脆弱性は、react-tooltip を使用するカスタム・ツールチップ・コンポーネントに起因している。たとえば、環境名などのコンテンツを、生の HTML として設定し、マウスを合わせると DOM に挿入される。したがって、不十分なコンテンツ・セキュリティ・ポリシー制限と相まって、それぞれの環境名に、ユーザーがマウスを合わせたときに、インライン・スクリプトを含む有効な HTML テキストの実行が可能になってしまう。

アドバイザリには、「この脆弱性の悪用に成功した攻撃者は、Fetch API または XMLHttpRequest を用いて、”file:///” スキームを介することで、ユーザーのシステム上から任意のファイルを読み取れる。その結果として、リモート・コード実行 (RCE) に至る可能性がある」と記されている。

脆弱なバージョン と パッチ適用済みバージョン
  • CVE-2025-30354 の影響を受けるバージョン:<= 1.26.0
  • CVE-2025-30210 の影響を受けるバージョン: >= 1.38.0 < 1.39.1
  • 2つの脆弱性に対するパッチ適用済みバージョン:1.39.1
緩和策と推奨事項

これらの脆弱性を緩和するための、主な推奨事項は以下のとおりである:

  • 不明または疑わしいソースからの、コレクション・ファイルのインポートを避ける
  • インポートする前に、コレクションの出所と信頼性を確認する

ユーザーに対して強く推奨されるのは、Bruno アプリの最新バージョン 1.39.1 以降へと速やかにアップデートし、この脆弱性に対処することだ。

API の調査やテストを行うためのオープンソース IDE である Bruno に、深刻な脆弱性が発見されました。今回の脆弱性は、API テストツールの安全性確保がいかに重要かを示していると感じます。どちらの脆弱性も CVSS 値が 8.7 と深刻なものですので、ご利用のチームは、パッチ適用を忘れないよう、ご注意ください。よろしければ、カテゴリ _OpenSourceAPI で検索も、ご参照ください。