Yusuke Inuzuka (yuin)のgoldmarkにおけるクロスサイトスクリプティングの脆弱性
タイトル Yusuke Inuzuka (yuin)のgoldmarkにおけるクロスサイトスクリプティングの脆弱性
概要

バージョン1.7.17より前のパッケージgithub.com/yuin/goldmark/renderer/htmlには、URL検証と正規化の順序が不適切であるため、クロスサイトスクリプティング(XSS)に対する脆弱性があります。レンダラーはリンク先をプレフィックスベースのチェック(IsDangerousURL)で検証した後にHTMLエンティティを解決します。このため、攻撃者は危険なスキームをHTML5の名前付き文字参照でエンコードすることによりプロトコルフィルタリングを回避できます。たとえば、javascript:alert(1)のようなペイロードは検証時に危険と認識されず、URLをレンダリングするアプリケーションのコンテキストで任意のスクリプトが実行される可能性があります。

想定される影響 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年4月15日0:00
登録日 2026年4月27日11:26
最終更新日 2026年4月27日11:26
CVSS3.0 : 警告
スコア 6.1
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
影響を受けるシステム
Yusuke Inuzuka (yuin)
goldmark 1.7.17 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年04月27日]
  掲載
2026年4月27日11:26

NVD脆弱性情報
CVE-2026-5160
概要

Versions of the package github.com/yuin/goldmark/renderer/html before 1.7.17 are vulnerable to Cross-site Scripting (XSS) due to improper ordering of URL validation and normalization. The renderer validates link destinations using a prefix-based check (IsDangerousURL) before resolving HTML entities. This allows an attacker to bypass protocol filtering by encoding dangerous schemes using HTML5 named character references. For example, a payload such as javascript:alert(1) is not recognized as dangerous during validation, leading to arbitrary script execution in the context of applications that render the URL.

公表日 2026年4月15日15:16
登録日 2026年4月17日4:11
最終更新日 2026年4月24日2:00
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:yuin:goldmark:*:*:*:*:*:*:*:* 1.7.17
関連情報、対策とツール
共通脆弱性一覧