Skip to main content

Hugo EUVDEUVD-2026-98158

| CVE-2026-109595 MEDIUM
Path Traversal (CWE-22)
2026-10-12 VulnCheck GHSA-6cfm-3xc5-q3r5
6.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Victim installs malicious theme/module
  2. Delivery
    Crafted relative import or symlink in asset
  3. Exploit
    ESBuild fallback resolver reads out-of-root file
  4. Execution
    Secret bundled into JS/CSS output
  5. Impact
    Published site leaks file contents

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 that the victim's project consume an attacker-controlled Hugo theme or module AND that the project use one of the affected asset-pipeline functions - js.Build, js.Batch, or css.Build - during the build. The malicious component must ship a relative import or symlink resolving outside the project root, and the targeted file must be readable by the build user; only files the build process can read are exposed. Limiting factors: the attack is local (AV:L) and gated by developer/CI action (UI:A) - a maintainer must actively install the hostile component and run a build - so there is no remote, unauthenticated, or default-configuration exposure of a running Hugo-generated site. Risk is confined to the build-time supply chain (local dev machines and CI runners), not to visitors of already-published sites.

Impact

This is a genuine but conditional risk that is lower priority than its 6.7 CVSS might suggest to a scanner reading severity alone. All signals point to a constrained, developer-targeted attack rather than mass exploitation: the authoritative CVSS 4.0 vector is AV:L/AC:L/AT:N/PR:N/UI:A, meaning the attack is LOCAL and requires active user interaction - specifically, a Hugo author must choose to install and build with a malicious theme or module. The impact is confidentiality-only (VC:H, VI:N/VA:N), consistent with a file-disclosure (CWE-22) rather than code execution. No EPSS score was provided in the input, so exploitation probability cannot be quantified. KEV status is not listed (treated as not present) and no POC is referenced, so exploitation status is 'no public exploit identified at time of analysis.' The PR:N is worth scrutiny: although no privileges are needed on the victim's machine, exploitation depends entirely on social-engineering a developer into trusting a hostile supply-chain component, so the real-world barrier is higher than PR:N alone implies - the UI:A metric captures that gate. In short, this is a credible supply-chain information-disclosure flaw for CI/build environments, not a remotely-exploitable server vulnerability; prioritize patching for teams that consume third-party Hugo themes/modules, but it is not an emergency network-exposure issue.

Exploit ScenarioDerived

An attacker publishes a seemingly useful Hugo theme or module containing a relative import or symlink that points outside the project root (e.g. to ~/.ssh keys, CI secrets, or .env files). When a developer or CI pipeline running a vulnerable Hugo (v0.84.0-v0.166.x) builds the site, ESBuild's fallback resolver in js.Build, js.Batch, or css.Build follows the path and bundles the target file's contents into the published JavaScript or CSS, exfiltrating it to anyone who views the deployed site. No public exploit code is identified at time of analysis, and the local attack vector plus required build action (UI:A) mean exploitation hinges on the victim adopting the malicious component.

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 asset pipeline lets a malicious theme or module bundle files from outside the project root into published JavaScript or CSS output, affecting Hugo from v0.84.0 up to (but not including) v0.167.0. Exploitation is build-time and supply-chain oriented: a maintainer must install the hostile component and run one of the affected functions (js.Build, js.Batch, or css.Build), and only files readable by the build user can be exfiltrated - there is no remote, unauthenticated exposure of an already-published site. The CVSS v4.0 vector is 6.7 with PR:N (no privileges required) but AV:L and UI:A, meaning local attacker access plus user interaction; no public exploit was identified at time of analysis and no KEV listing applies.

RemediationAI

Upgrade Hugo to v0.167.0 or later, which is the first release outside the vulnerable range per the vendor advisory (https://github.com/gohugoio/hugo/security/advisories/GHSA-r4xx-89rf-5424); this is the primary and complete fix, so pin your toolchain and CI image to v0.167.0+ and rebuild. If an immediate upgrade is not possible, reduce the blast radius by auditing and vendoring every theme and Hugo Module at a pinned, reviewed revision rather than pulling floating branches; removing untrusted modules and avoiding js.Build/js.Batch/css.Build in projects that must build untrusted themes (with the trade-off that legitimate asset bundling is disabled); and running builds inside a sandboxed container or CI job whose filesystem mounts are least-privilege, so only public project files - never credentials, SSH keys, or cloud tokens - are readable by the build user. Treat build hosts as sensitive: rotate any secrets that were present on a machine or runner where an untrusted theme was built during the vulnerable window. A VulnCheck write-up with additional context is at https://www.vulncheck.com/advisories/hugo-0.84.0-before-0.167.0-path-traversal-via-js-build-esbuild-resolver.

Affected VersionsENISA

hugo 0.84.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 flaw is a classic relative path traversal (CWE-22) rooted in the ESBuild fallback resolver that Hugo invokes for its JavaScript and CSS asset-building functions js.Build, js.Batch, and css.Build. When a relative import (or a symlink) inside a theme or module resolves outside the expected project root, ESBuild's resolver follows it and reads the target file instead of rejecting or confining the path; Hugo then emits the content into the bundled/published JS or CSS. This matters because themes and modules are commonly third-party code pulled from remote repositories, so the build environment (developer workstation or CI runner) becomes the attack surface. The affected component is tracked as CPE cpe:2.3:a:gohugoio:hugo and the vendor advisory is GHSA-r4xx-89rf-5424, with a secondary VulnCheck advisory covering the 0.84.0-0.167.0 range.

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

Attack is build-time local (AV:L) and gated by the developer adopting and building a malicious component (UI:R); attacker needs no victim privileges (PR:N); impact is file disclosure only, so 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 from v0.84.0 before v0.167.0 contains a path traversal vulnerability that allows malicious themes or modules to read files outside the project root via ESBuild's fallback resolver in js.Build, js.Batch, and css.Build. Attackers can ship relative imports or symlinks pointing outside the project to bundle any file readable by the build user into published JavaScript or CSS output.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
one of the most widely used static site generators in dev/CI pipelines
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-109574 MEDIUM
6.7 Oct 12

Path traversal in Hugo's css.Sass transpilation pipeline (all versions before v0.167.0) lets a malicious theme or module

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