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

株式会社WR

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

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

警告 CVSS 6.1 Node.js CVE-2026-110306 公表 2026年10月20日

fast-uri の scheme 処理に XSS の脆弱性

Node.js — CVE-2026-110306

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

どんな問題か

URLの先頭部分(scheme)に「%」があると、後から危険なURLに変わってしまう問題です。見た目は無害でも、保存や表示で実行される形になることがあります。

放置するとどうなるか

javascript などの危険なURLになり、画面上で不正な処理が動く可能性があります。アクセス制限をすり抜けるおそれもあります。

今すぐやること

fast-uri を 2.4.8、3.1.9、4.2.3 以降へ更新してください。入力の scheme に「%」が含まれないか確認し、更新前は危険なURLを受け付けないようにしてください。

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

  1. お使いのサーバー・プログラムに Node.js が使われているか、制作会社・保守会社・サーバー会社に確認します(管理画面やサーバーのバージョン表示でも分かります)。
  2. バージョンが「2.4.2-2.4.7, 3.1.3-3.1.8, 4.0.1-4.2.2」に当てはまるか確認します。
  3. 当てはまる場合は、修正版へのアップデートを依頼します。レンタルサーバーの場合はサーバー会社側で対応済みのこともあるので、お知らせを確認してください。
原文(英語)を表示
fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions before 2.4.8, from 3.0.0 through 3.1.8, and from 4.0.0 through 4.2.2, fast-uri percent-decodes the scheme component with the legacy global unescape() function before validating it, so an input whose decoded scheme is a dangerous token is emitted as a live scheme even though RFC 3986 does not allow percent-encoding in a scheme and no other parser accepts it. An application that screens dangerous schemes on the raw input and then stores or renders the normalized or resolved result can turn an inert string into an executable javascript, data, or vbscript URL, producing a stored or reflected cross-site scripting vector, and the equal() comparison treats an encoded and a plain scheme as the same, which can bypass equality-based allowlists. The issue is fixed in fast-uri 2.4.8, 3.1.9, and 4.2.3, and users should upgrade to one of these versions or later. As a workaround, reject input whose scheme part contains a percent sign, or check the parsed scheme against an allowlist after normalization and use that same parsed result rather than the raw string.

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

無料で相談する →