Skip to main content

Hugo CVE-2026-109574

| EUVDEUVD-2026-98157 MEDIUM
Path Traversal (CWE-22)
2026-10-12 VulnCheck GHSA-454m-4vr5-7p63
6.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Publish malicious Hugo theme/module
  2. Delivery
    Victim imports theme and builds site
  3. Exploit
    Sass import fallback resolves out-of-root path
  4. Execution
    File contents compiled into published CSS
  5. Impact
    Attacker reads leaked data from site

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim to build a Hugo site (version before v0.167.0) that includes an attacker-controlled theme or module, AND that uses the css.Sass transpilation pipeline where the attacker's stylesheet contains a malicious @import or @use target (relative, absolute, or symlinked) resolving outside the project root. Key LIMITING factors: the attacker cannot act remotely - a developer or CI process must voluntarily add the untrusted theme/module and run the build (UI:A, AV:L); only files readable by the build process's user can be exfiltrated; the leaked content must be retrievable from the attacker's reach via the published site CSS; and sites that use only first-party or vetted themes are not exposed.

Impact

Signals are consistent and point to a MODERATE, build-time information-disclosure risk rather than an urgent remote-exploitation priority. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:A/VC:H) correctly models this as a LOCAL attack requiring victim interaction: exploitation occurs when a developer or CI pipeline builds a Hugo site that incorporates an attacker-supplied theme or module, not via a network-facing service. Confidentiality impact is HIGH (arbitrary readable file contents can be leaked) while integrity and availability are None, matching a pure path-traversal file-read. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so exploitation status is 'no public exploit identified at time of analysis.' There is no SSVC decision data provided. The chief risk nuance: PR:N is accurate (the attacker needs no account), but UI:A is load-bearing - the attack is entirely gated on a victim voluntarily importing an untrusted theme/module and running a build, which places this in the supply-chain/trust-decision category rather than mass-exploitable. This is a real but conditional issue: prioritize for teams that build Hugo sites from third-party themes, deprioritize for those using only first-party/vetted themes.

Exploit ScenarioDerived

An attacker publishes a seemingly legitimate Hugo theme or module containing a stylesheet whose @import or @use target is a relative, absolute, or symlinked path pointing outside the project root (e.g. to a secrets or config file). A developer adds the theme and runs hugo, and the Sass compiler's import fallback resolves and compiles the out-of-root file, embedding its contents into the published site CSS where the attacker can retrieve it. No public exploit code was identified in the provided data, but the technique is straightforward to reproduce.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Path traversal in Hugo's css.Sass transpilation pipeline (all versions before v0.167.0) lets a malicious theme or module reference files outside the project root via relative, absolute, or symlinked @import/@use targets and have their contents compiled into the published site CSS. Exploitation is build-time rather than remote: a developer or CI job must voluntarily add the untrusted theme/module and run a build that uses css.Sass, and only files readable by the build process's user can be disclosed - a moderate information-disclosure risk rather than an urgent remote-execution priority. No public exploit identified at time of analysis and no confirmed active exploitation (CISA KEV); the vendor has released a fix in v0.167.0.

RemediationAI

Vendor-released patch: upgrade to Hugo v0.167.0 or later, which constrains Sass import fallback resolution so that @import/@use targets cannot escape the project root; see the advisory at https://github.com/gohugoio/hugo/security/advisories/GHSA-3jfr-vjcq-7jvf for the exact fix and any release notes. If an immediate upgrade is not possible, compensate by reducing what an untrusted theme can reach: only build themes/modules you have reviewed or vendored, pin module versions and verify Go module checksums so an upstream theme cannot silently swap in a malicious stylesheet, grep theme SCSS/CSS for @import/@use entries containing '..', leading '/' absolute paths, or symlinked partials before adding them, and remove or replace those targets rather than trusting them. Run the Hugo build as a dedicated unprivileged user inside a container or sandbox whose filesystem view is limited to the project checkout, so that even a successful traversal cannot reach secrets such as ~/.ssh, ~/.aws, CI environment files, or /etc/passwd; the trade-off is extra tooling and the risk that legitimate build steps needing broader filesystem access will break. As a last resort for sites with no untrusted inputs, avoid enabling css.Sass (pre-render or pre-minify stylesheets outside Hugo), which eliminates the vulnerable code path at the cost of losing Hugo's built-in Sass pipeline. CI environments are the highest-value targets for this issue: scope build tokens and secrets so that files leaked into published CSS are short-lived or non-sensitive, and audit recent build artifacts for unexpected CSS content.

Affected VersionsENISA

hugo 0 <0.167.0

Affected Packages

euvd hugo fix: 0.167.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal) in Hugo's css.Sass implementation, which drives the Sass/SCSS transpiler used to process stylesheets. Sass import resolution performs a fallback search: when an @import or @use target is not found relative to the importing file, the compiler walks up directories and also honours absolute paths and symlinks. In Hugo before v0.167.0 this fallback was not constrained to the project root, so a stylesheet shipped inside an attacker-controlled theme or Hugo Module could name a target such as ../../etc/passwd, an absolute path, or a symlink pointing outside the project tree, and the compiler would read the file and emit its contents into the generated CSS that Hugo publishes. The affected component is identified by CPE cpe:2.3:a:gohugoio:hugo:*:*:*:*:*:*:*:*; the vendor advisory is GHSA-3jfr-vjcq-7jvf. Per our independent assessment the effective CVSS:3.1 vector is AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - confidentiality impact only, no integrity or availability effect, local attack vector, no privileges required on the build host, but requiring user action (the developer adding the theme/module and running the build). The published CVSS 4.0 score is 6.7 with AV:L/AC:L/AT:N/PR:N/UI:A, which is consistent with that picture.

Know when Hugo gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.7 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Build-time attack so AV:L; attacker needs no account (PR:N) but victim must import the theme and build (UI:R); only file reads, hence C:H, I:N, A:N.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 02:16 EUVD
CVE Published
Oct 12, 2026 - 22:21 cve.org
MEDIUM 6.7

DescriptionCVE.org

Hugo before v0.167.0 contains a path traversal vulnerability in css.Sass that allows malicious themes or modules to read files outside the project root through the Sass compiler's import fallback. Attackers can ship stylesheets with relative, absolute, or symlinked @import or @use targets to compile readable files into the published site CSS.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
Hugo is among the most widely used static site generators
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Hugo

View all
CVE-2020-26284 HIGH POC
8.5 Dec 21

Hugo is a fast and Flexible Static Site Generator built in Go. Rated high severity (CVSS 8.5), this vulnerability is rem

CVE-2026-89259 CRITICAL
9.3 Sep 11

Sandbox/permission-restriction bypass in the Hugo static site generator (versions after v0.43, fixed in v0.165.0) lets a

CVE-2026-75926 CRITICAL
9.3 Aug 18

Arbitrary command execution in Hugo 0.162.0 through 0.164.x occurs when the static site generator builds a project whose

CVE-2026-89258 CRITICAL
9.3 Sep 11

Arbitrary file disclosure in the Hugo static site generator (versions after v0.123.0 and before v0.165.0) lets an attack

CVE-2026-100692 HIGH
8.7 Sep 26

Symlink-following flaws in Hugo's theme and module mount confinement allow files outside a project's mount roots to be r

CVE-2026-100690 HIGH
8.7 Sep 26

Arbitrary file read in Hugo v0.161.0 through v0.165.0 allows an attacker who can contribute content to a Hugo project -

CVE-2026-100693 HIGH
8.6 Sep 26

Case-sensitivity bypass in Hugo's security.http.urls IP-literal deny rule lets builds running v0.162.0 through v0.165.x

CVE-2026-10582 HIGH
8.3 Aug 24

Server-side request forgery in Hugo static site generator (versions 0.91.0 through 0.165.0) allows an attacker who can s

CVE-2026-109596 MEDIUM
6.7 Oct 12

Local file disclosure in Hugo v0.162.0 through v0.166.x allows an attacker-controlled theme or module to place a symlink

CVE-2026-109595 MEDIUM
6.7 Oct 12

Path traversal in Hugo's asset pipeline lets a malicious theme or module bundle files from outside the project root into

CVE-2026-58403 MEDIUM
5.9 Jul 06

Symlink traversal in Hugo's virtual filesystem (v0.123.0-v0.163.0) allows a symlink planted inside a theme or local moun

CVE-2026-58402 MEDIUM
5.1 Jul 06

Stored XSS in Hugo's default code-block renderer allows an attacker with Markdown contribution rights to inject arbitrar

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy