CVE-2026-100694

Hugo before 0.166.0 Cross-Site Scripting via text/org

Published Sep 26, 2026 CVSS 4.0 · 5.1 Medium EPSS < 1% KEV · Not listed
Description
Hugo is a static site generator. In versions from v0.56.0 through v0.165.x, content files mapped to the text/org media type are rendered without escaping raw HTML: Org export blocks and @@html:...@@ snippets pass HTML through unescaped, resulting in cross-site scripting (XSS) in the generated site. An attacker who can supply or influence a content file under /content or the output of a content adapter can inject scripts that execute in the browsers of visitors to the affected pages. Only pages whose source file or content-adapter output declares the text/org media type are affected, and sites that fully trust all content sources are not impacted. Version v0.166.0 fixes the issue by introducing a security.allowContent allowlist that denies text/org by default; sites that intentionally author Org Mode content can opt back in with [security] allowContent = ['.*'].

Analysis

AI-generated

Technical impact

The flaw exists in Hugo from v0.56.0 through v0.165.x. Content files tagged with the text/org media type are rendered without escaping raw HTML. Org export blocks and @@html:…@@ snippets are passed directly into the generated site, allowing an attacker who can supply or influence a content file to inject script payloads that execute in visitors’ browsers. This vulnerability maps to CWE‑79 and can be used for stored or reflected cross‑site scripting attacks that compromise the user session.

Affected Systems

All installations of the Hugo static site generator released between version 0.56.0 and 0.165.x are affected when they render text/org media types. The bug does not impact sites that never use the text/org media type or that only trust fully trusted content sources. The affected product is the GoHugo Hugo static site generator, with the affected range explicitly enumerated by the CNA.

Risk and Exploitability

The CVSS score of 5.1 indicates a moderate severity, and the vulnerability is not listed in the CISA KEV catalog. The EPSS score is not available, suggesting a limited likelihood of active exploitation at this time. Sites that permit content authors to create or modify files with the text/org media type remain at risk, but upgrading to v0.166.0 or enforcing the default allowlist substantially mitigates the threat.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Hugo to version 0.166.0 or later.
  • If an upgrade is not immediately possible, configure the site by setting security.allowContent = ['.*'] to allow the text/org media type for trusted authors while it remains denied by default.
  • Restrict write access to the /content directory and audit or validate content added by external or untrusted sources to prevent insertion of malicious org snippets.

Generated by OpenCVE AI on September 26, 2026 at 16:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Redhat
Redhat hummingbird
CPEs cpe:/a:redhat:hummingbird:1
Vendors & Products Redhat
Redhat hummingbird
References
Metrics threat_severity

None

threat_severity

Moderate

Type Values Removed Values Added
Description Hugo is a static site generator. In versions from v0.56.0 through v0.165.x, content files mapped to the text/org media type are rendered without escaping raw HTML: Org export blocks and @@html:...@@ snippets pass HTML through unescaped, resulting in cross-site scripting (XSS) in the generated site. An attacker who can supply or influence a content file under /content or the output of a content adapter can inject scripts that execute in the browsers of visitors to the affected pages. Only pages whose source file or content-adapter output declares the text/org media type are affected, and sites that fully trust all content sources are not impacted. Version v0.166.0 fixes the issue by introducing a security.allowContent allowlist that denies text/org by default; sites that intentionally author Org Mode content can opt back in with [security] allowContent = ['.*'].
Title Hugo before 0.166.0 Cross-Site Scripting via text/org
First Time appeared Gohugo
Gohugo hugo
Weaknesses CWE-79
CPEs cpe:2.3:a:gohugo:hugo:*:*:*:*:*:*:*:*
Vendors & Products Gohugo
Gohugo hugo
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Sep 30, 2026, 3:05 PM
Reserved
Sep 26, 2026, 2:37 AM
Status
Analyzed
Published
Sep 26, 2026, 2:16 PM
Modified
Sep 30, 2026, 4:17 PM
Severity
Moderate
Public date
Sep 26, 2026, 1:23 PM