Insomnia API の脆弱性 CVE-2025-1087:任意のコード実行の可能性とパッチ・バイパスの現状

Insomnia API Client Vulnerability Enables Arbitrary Code Execution via Template Injection

2025/06/20 gbhackers — API インタラクションにおいて、開発者やセキュリティ・テスターが多用するツール Insomnia API Client に、深刻なセキュリティ脆弱性が発見された。この脆弱性 CVE-2025-1087 (CVSS:9.3) を悪用する攻撃者は、CSTI (Client-Side Template Injection) を通じて任意のコード実行の可能性を得る。Insomnia が使用する Nunjucks テンプレート・エンジンが、信頼できない入力を適切に処理できていないことに、この脆弱性は起因するものであり、2025年6月時点での最新バージョン 11.2.0 でも修正されていない。

この問題は、信頼できないファイル/データ/HTTP レスポンスなどを扱うユーザーにとって深刻なリスクとなり、最悪の場合には、システム全体が侵害されるおそれもある。なお、この脆弱性を発見したのは、攻撃的セキュリティ・コンサルタント会社に所属する Marcio Almeida (Technical Director) および Justin Steven (Head of Research) である。

複数の緩和策が回避された

この脆弱性が特定されたのは、API のペンテスト中の Marcio Almeida が、Insomnia の意図しない挙動を発見したときである。具体的には、”{{7*7}}” のようなテンプレート式が、標的のサーバに送信される前にローカルで “49” と評価されたことで、この脆弱性の存在が明らかになった。

調査の結果として判明したのは、Insomnia の環境変数機能が、Nunjucks に依存していることである。この欠陥を突く攻撃者は、以下のような複数のベクターを通じて、悪意のテンプレート文字列の注入を可能にする:

  • インポートされたコレクション・ファイル
  • UI 内のフィールド (URL やクエリパラメータ) に貼り付けられたデータ
  • HTTP レスポンスを介したサーバ発行の Cookie (Set-Cookie ヘッダー)
Insomnia API Client
Insomnia 10.3.1

joiner.constructor などの Nunjucks のグローバル関数を悪用することで、ペイロードを作成する攻撃者は、機密データの漏洩やマルウェア・インストールなどの任意のコマンドを、ユーザーによる操作を最小限に抑えながら実行できる。

特に懸念される攻撃手法は、Set-Cookie ヘッダーを介して悪意のクッキーを設定するものだ。その後のリクエストで、Insomnia により悪意のクッキーがレンダリングされると、ユーザーの操作を必要とすることなく、リモート・コード実行にいたってしまう。

Kong の対策と限界

Insomnia の開発元である Kong は、この脆弱性を緩和するための対策を繰り返し講じてきたが、それらは回避されてきた。

Insomnia バージョン 11.1.0/11.2.0 での初期対応には、Web Worker におけるテンプレート・レンダリングのサンドボックス化や、Nunjucks 関数であるrange へのパッチ適用などが取り込まれていた。しかし、module.requirejoiner.constructor などの代替手法により、それらの対策は回避された。

2025年2月から研究者たちは、回避策に関する複数のフィードバックを提供し続けているが、Kong は問題を完全に修正しきれず、CVE エントリーを行うだけであり、ユーザー向けの明確なセキュリティ通知も発行していない。なお、公式の CVE エントリーでは、この脆弱性が「バージョン 11.0.2 で修正済み」とされているが、これは誤りである。

2020年の時点で GitHub の Issue で指摘されていた、この脆弱性が浮き彫りにするのは、高機能なテンプレート・エンジンにおいて、信頼できない入力を扱うことの危険性である。さらに、複雑なソフトウェア・アーキテクチャに対して、セキュリティを後付けする難しさも物語っている。

脆弱性 CVE-2025-1087 は、現在でも悪用が可能な状況にあるため、ユーザーに対して強く推奨されるのは、細心の注意を払うことである。

具体的に言うと、信頼できない Insomnia ファイルのインポートを避け、フィールドに貼り付ける前のデータに、テンプレート式 ({{二重の波括弧}} で示される) が含まれないことを確認する必要がある。さらに、悪意のクッキーへの露出を防ぐために、HTTP リクエストを、信頼できるサーバに限定すべきである。

また、リクエストごとのクッキー保存の無効化や、Nunjucks のレンダリングへのパッチ修正も、研究者たちが提案する潜在的な回避策であるが、機能への影響に注意する必要がある。

API の開発とセキュリティ・テストに不可欠な、Insomnia の脆弱性が示すのは、開発ツールにおけるセキュリティの重要性である。ユーザーに推奨されるのは、Kong からの最終的な修正を待つ間も、警戒を怠ることなく、優先的にアップデートを実施することである。