2026/03/02 CyberSecurityNews — Angular Server-Side Rendering (SSR) に、深刻な脆弱性 CVE-2026-27739 (CVSS:9.2:Critical) が発見された。この脆弱性を悪用する攻撃者は、未承認のリクエストをアプリケーションに送信させることが可能となる。この脆弱性は、Server-Side Request Forgery (SSRF) に分類されており、その影響が及ぶ範囲は、Angular フレームワークを使用する Web アプリケーションに広がる。

この脆弱性は、ユーザーによる制御が可能な HTTP ヘッダを処理する際の、Angular の内部 URL 再構築ロジックに起因する。具体的には、このフレームワークが Host および X-Forwarded-* 系ヘッダを信頼し、デスティネーション・ドメインを適切に検証していない点に問題がある。
脆弱性の仕組み
Angular SSR はアプリケーションのベースオリジンを判断するために HTTP ヘッダを使用する。その一方で、このフレームワークは、Host および X-Forwarded-Host ヘッダが信頼できるオリジンから送信されたかどうかを検証していない。この欠陥を突く攻撃者は、アプリケーションのベース URL を外部の悪意のドメインへとリダイレクトできる。
さらに、このフレームワークは、X-Forwarded-Host ヘッダ内のパスセグメントや特殊文字をサニタイズしていない。それに加えて、X-Forwarded-Port ヘッダが数値であるかどうかも検証していない。その結果として、悪意の URI 構築およびインジェクション攻撃が可能となる。
この検証不足により、主に 2 つの攻撃シナリオが生じる。
| Attack Scenario | Description |
|---|---|
| Base Origin Manipulation | HttpClient により、攻撃者が制御するサーバへと URL を解決される可能性 |
| Unsafe URL Construction | 未検証の REQUEST ヘッダにより、悪意のエンドポイントへとトラフィックが転送される可能性 |
脆弱性 CVE-2026-27739 が悪用された場合には、内部リクエストの任意制御が可能となるため、影響を受けるアプリケーションに壊滅的な被害が生じる恐れがある。
攻撃者は、Authorization ヘッダやセッション Cookie などの機密クレデンシャルを、自身のサーバへとリダイレクトすることで外部への送信を達成する。
また、この脆弱性の悪用により、内部ネットワークの探索が可能になる。公開されていない内部サービス/データベース/クラウド・メタデータ・エンドポイントへのアクセスにより、データの取得/送信が可能になる。
最終的に、サーバ上で処理される機密情報が漏洩し、機密性の深刻な侵害につながる可能性がある。
すでに Angular チームは、修正版をリリースし、この深刻な脆弱性に対処している。
GitHub 上の Angular アドバイザリが強く推奨するのは、以下の安全なバージョンへのアップデートである。
- 21.2.0-rc.1/21.1.5/20.3.17/19.2.21
迅速なアップグレードが不可能な組織向けに、回避策も提示されている。開発者にとって必要なことは、URL 構築に req.headers を使用せず、信頼できるベース API パスを用いた絶対 URL を使用することである。
さらに、server.ts ファイル内に厳格なヘッダ検証ミドルウェアを実装することで、数値ポートおよび検証済みホスト名の使用を強制できる。これにより、悪用リスクを軽減できる。
Angular Server-Side Rendering (SSR) に、内部リクエストを不正制御される深刻な脆弱性 CVE-2026-27739 (CVSS:9.2) が発見されました。Angular SSR において、Host や X-Forwarded-Host ヘッダを適切に検証せず、URL 再構築に使用していることに、この脆弱性は起因します。これらのヘッダを細工する攻撃者は、アプリケーション内部の通信 (HttpClient など) の宛先を、外部の悪意のドメイン/内部の機密サーバ/クラウド・メタデータ・エンドポイントなどへ強制的にリダイレクトさせることができます。これにより、認証トークンやセッション Cookie の窃取/内部ネットワークの探索といった深刻な被害を招く恐れがあります。ご利用のチームは、ご注意ください。よろしければ、Angular での検索結果も、ご参照ください。
You must be logged in to post a comment.