脆弱性・CVE速報深刻度: 中

Fiber v2 の CORS ミドルウェアに脆弱性(CVE-2026-119285): ワイルドカード指定のオリジン照合が不十分で、似た名前のドメインに認証付きの読み取りを許す恐れ

目次(5)

CVE-2026-119285

Go の Web フレームワーク Fiber(v2)の CORS ミドルウェアに、2026 年 10 月 30 日(UTC)に脆弱性 CVE-2026-119285 が公開されました。GitHub Advisory の深刻度は Medium、CVSS v3.1 は 5.9(CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:N)、CWE-346・CWE-942 です。GitHub の勧告に CVSS v4.0 の値は付いていません。CISA の KEV には載っていません。EPSS は 0.13%(10/30 時点)です。

何が起きるか

  • AllowOrigins に https://*.example.com のようなサブドメイン用のワイルドカードを指定すると、v2.52.1 と v2.52.2 は、末尾が基準ドメインと一致するかだけを見て、直前がドットかどうかも、スキームが一致するかも確かめていません。
  • そのため https://evil-example.com や http://notexample.com のように、基準ドメインで終わる別のドメインのオリジンが許可され、Access-Control-Allow-Origin にそのまま返されます。AllowCredentials が有効なら Access-Control-Allow-Credentials: true も付きます。
  • 結果として、ワイルドカード指定と認証情報付きの許可を併用しているアプリでは、基準ドメインで終わる名前のドメインのページが、ログイン中の利用者向けの応答をブラウザ経由で読めます。勧告の再現例では、GET とプリフライト(OPTIONS)の両方で、https と http のどちらのオリジンも許可されました。

悪用の条件

  • Fiber v2 の 2.52.1 または 2.52.2 を使っている。
  • CORS ミドルウェアでサブドメイン用のワイルドカード(*.example.com の形)を AllowOrigins に指定している。
  • 認証情報付きの応答を読ませるには、AllowCredentials: true も有効にしている。
  • 攻撃者が、基準ドメインで終わる名前のドメインを取得し、そのページを利用者に開かせる(CVSS のベクターも、攻撃の難しさ高・利用者の操作要としています)。

ワイルドカードを使わず、オリジンを一つずつ列挙している構成は、この問題の対象になりません。

影響を受ける版と修正

  • 勧告の影響範囲は github.com/gofiber/fiber/v2 の 2.52.1 以上 2.52.2 以下、修正版は 2.52.3 です。勧告の表では v2.52.0 は影響なしで、v2.52.3〜v2.52.16 では、この問題のオリジンは許可されません。
  • 2.52.3 は照合の方法を、スキームを見て、先頭のドットを含む接尾辞(.example.com)で比べる方式に置き換えました。修正のコミットは 2024 年 3 月 17 日、2.52.3 のリリースは同年 3 月 25 日で、修正はリリースの前に入っています。リリースノートにも、CORS のワイルドカード照合の修正が書かれています。
  • 勧告が公開されたのは 2026 年 10 月 30 日で、修正版のリリースから約 2 年半後です。
  • 勧告は別の件として、2.52.16 より前のすべての v2 が、空のラベルを含むオリジン(https://.example.com など)も受け入れていたこと、2.52.3〜2.52.15 がカンマとスペースの後のワイルドカード指定を誤って解釈していたことを挙げています。実在するドメインはこの形にならないため、勧告はこれらを強化の扱いとし、2.52.16 で修正されたと書いています。

対応

  1. go list -m github.com/gofiber/fiber/v2 で、使っている版を確認します。
  2. 2.52.1 または 2.52.2 なら、2.52.3 以降へ更新します。勧告は最新の v2 への更新を勧めています。
  3. すぐ更新できない場合は、ワイルドカードをやめてオリジンを一つずつ列挙するか、AllowCredentials を無効にします。
  4. 該当する版でワイルドカードと認証情報付きの許可を併用していた場合、基準ドメインで終わる不審なドメインからのアクセスがないか、ログを確かめます。

未確認の点

  • NVD の記載は確認できていません(公開直後)。
  • 悪用の報告は見つかっていません(KEV 掲載なし、EPSS は低い水準)。

この記事について

出典

この記事を共有