Skip to content
OpenAdvisories
Medium · 5.4 CVE-2026-100691 EUVD-2026-87664GHSA-8v94-8989-vc79

Hugo before 0.166.0 Stored XSS via lineAnchors code block option

Published Sep 26, 2026 · Updated Sep 28, 2026 · Assigned by VulnCheck

Description

Hugo versions 0.75.0 through 0.165.x contain a stored cross-site scripting vulnerability: the syntax highlighter does not escape the `lineAnchors` option before passing it to Chroma, which writes the value verbatim into the `id` and `href` attributes of the generated line-number markup. A crafted `lineAnchors` value supplied as a Markdown code fence attribute (or passed to the `highlight` template function) results in unescaped HTML in the rendered page, allowing arbitrary JavaScript to execute in the browsers of visitors to the generated site. This affects sites that build and publish Markdown from untrusted contributors; Hugo's security model otherwise considers content trusted input. Fixed in 0.166.0, where the `lineAnchors` value is HTML-escaped before being passed to Chroma.

Affected products

VendorProductAffectedFixed
gohugoio hugo 0.75.0 – < 0.166.0 0.166.0

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 hugo 0.166.0-1 —
Debian 13 hugo No fix yet —
Debian 12 hugo No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 hugo No fix yet —
Ubuntu 26.04 LTS hugo No fix yet —
Ubuntu 22.04 LTS hugo No fix yet —
Ubuntu 20.04 LTS hugo No fix yet —
Ubuntu 18.04 LTS hugo No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS hugo No fix yet —
Ubuntu Pro 24.04 LTS hugo No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 hugo 0.166.0-0.1.hum1 RHSA-2026:66266

Advisories 1

References