gohugoio/hugo · Security

Hugo: XSS via unescaped code-fence language in default code block renderer

GHSA ID
GHSA-q76j-gcg9-vxc6
Severity
medium
Published
Updated
CVSS v4
5.1 · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Description

Hugo's default code-block renderer wrote the Markdown code-fence language / info-string into the <code class="language-…" data-lang="…"> wrapper without HTML escaping. A fence info-string containing a quote and a <script> payload breaks out of the attribute and injects a live script element.

This is not an issue if you fully trust every file under /content and every content adapter you load.

CWEs

References