Cyber Resilience

CVE-2026-35166

XSS in Gohugo Hugo 0.60.0 – 0.159.2

Published
06 April 2026
Modified
20 April 2026
Patch / advisory
CVSS Score v4 5.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0019 8th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2026-35166 is a medium-severity Cross-site Scripting (CWE-79) vulnerability in Gohugo Hugo. Its CVSS base score is 5.3 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique JavaScript (T1059.007); ranked at the 8th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-15 (Information Output Filtering) and SI-2 (Flaw Remediation) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Hugo is a static site generator. From 0.60.0 to before 0.159.2, links and image links in the default markdown to HTML renderer are not properly escaped. Hugo users who trust their Markdown content or have custom render hooks for links…

more

and images are not affected. This vulnerability is fixed in 0.159.2.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1059.007 JavaScript Execution
Adversaries may abuse various implementations of JavaScript for execution.
T1185 Browser Session Hijacking Collection
Adversaries may take advantage of security vulnerabilities and inherent functionality in browser software to change content, modify user-behaviors, and intercept information as part of various browser session hijacking techniques.
Why these techniques?

XSS in Markdown link/image rendering enables arbitrary JS execution (T1059.007) and browser session hijacking (T1185) in generated sites.

Confidence: MEDIUM · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2023-46003Shared CWE-79
CVE-2023-46650Shared CWE-79
CVE-2023-4983Shared CWE-79
CVE-2023-5304Shared CWE-79
CVE-2023-5581Shared CWE-79
CVE-2023-5701Shared CWE-79
CVE-2023-5699Shared CWE-79
CVE-2023-5793Shared CWE-79
CVE-2023-6303Shared CWE-79
CVE-2023-6463Shared CWE-79

Affected Assets

gohugo
hugo
0.60.0 — 0.159.2 · 0.60.0 — 0.159.2 · 0.60.0 — 0.159.2

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-15 Information Output Filtering
  • SI-10 Information Input Validation
  • SI-2 Flaw Remediation
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.1.2
  • V1.3.2

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly enforces output filtering/encoding on rendered Markdown links and images to block the unescaped content that triggers CWE-79 XSS.

prevent

Requires validation of link and image inputs during Markdown processing so that malicious payloads are rejected before HTML generation.

prevent

Mandates prompt application of the vendor fix (0.159.2) that corrects the missing escaping logic in the default renderer.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly target introduction of XSS via coding standards/testing (mostly), yet the single broad outcome leaves many specific neutralization vectors unaddressed (partial).

PR.PS-02 partial match
prevents

Patching and EOL replacement can remediate known XSS instances in libraries or frameworks (partial) but do nothing to enforce input neutralization in application code (none).

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

detects

Secure-coding testing and automated code-analysis tools are applied to detect improper neutralization of script-related content during web-page generation.

prevents

Knowledge exchange on emerging attack techniques and patches reduces the likelihood that cross-site scripting flaws remain unaddressed in deployed applications.

prevents

Operational indicators of compromise for web-application attacks can be incorporated into WAF or input-filtering rules, lowering the likelihood that unsanitized data reaches the browser.

prevents

Requiring language-specific secure-coding standards and automated scanning during the SDLC catches missing output encoding or improper neutralization of untrusted data before the software reaches production.

prevents

Secure-coding standards, SAST scans and removal of insecure code samples together eliminate the failure to neutralize script content that produces cross-site scripting flaws.

none

Webpage malware scanning and block-listing of known malicious sites reduce the likelihood that reflected or stored script payloads reach a user’s browser.

References