WR 株式会社WR 松戸のホームページ制作・社内システム・IT相談

株式会社WR

千葉県松戸市
松戸・柏・市川・流山・船橋 対応

ホーム›脆弱性情報›Node.js›CVE-2026-75899

重要 CVSS 7.5 Node.js CVE-2026-75899 公表 2026年8月24日

Node.jsのfast-uriに二重デコードの脆弱性

Node.js — CVE-2026-75899

自分のサイトが該当するか無料診断 → 原文を見る(NVD(米国 脆弱性データベース))↗

どんな問題か

Node.jsのfast-uriに、%記号の扱いを二重に処理してしまう問題があります。入力したURLと、実際に使われる接続先が変わるおそれがあります。

放置するとどうなるか

外部サイトへの誘導や、社内向け通信への不正利用につながるおそれがあります。接続先の制限をすり抜けられる危険があります。

今すぐやること

2.4.5、3.1.6、4.1.3へ更新してください。URLの正規化やリダイレクト確認をしている場合は、あわせて動作確認を行ってください。

自分のサイトが該当するかの確認手順

  1. お使いのサーバー・プログラムに Node.js が使われているか、制作会社・保守会社・サーバー会社に確認します(管理画面やサーバーのバージョン表示でも分かります)。
  2. バージョンが「2.4.1-2.4.4、3.1.2-3.1.5、4.0.0-4.1.2」に当てはまるか確認します。
  3. 当てはまる場合は、修正版へのアップデートを依頼します。レンタルサーバーの場合はサーバー会社側で対応済みのこともあるので、お知らせを確認してください。
原文(英語)を表示
fast-uri is a URI parser for Node.js. It decodes percent escapes in a hostname during parsing and then decodes the parsed hostname a second time during authority recomposition, so a single call to normalize or resolve can turn nested percent-encoded input into a different network destination such as a loopback hostname or address. For example, a doubly encoded host that spells out a loopback name decodes to that live host in one operation, which contradicts RFC 3986 section 2.4 that an implementation must not decode the same string more than once. An application that normalizes or resolves an untrusted HTTP-family URI before outbound routing, redirect validation, or a host-policy check can receive a destination different from the one the original encoded host represented, giving a server-side request forgery and host-policy bypass primitive. This is an incomplete-fix variant of CVE-2026-6322. The affected versions are 2.4.1 up to but not including 2.4.5, 3.1.2 up to but not including 3.1.6, and 4.0.0 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which normalize percent escapes once and preserve encoded percent signs. Users should upgrade to a patched version.

※ 解説は NVD(米国 脆弱性データベース) の公表内容をもとにAIが生成しています。対象バージョン・修正版などの正確な情報は、必ず原文をご確認ください。

無料で相談する →