Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInject malicious content/theme into Hugo site
-
DeliveryVictim runs Hugo build with TailwindCSS
-
ExploitNode tool launched with broad permission flags
-
ExecutionEscape working-directory restriction via child-process/worker
-
ImpactRead/write arbitrary files on build host
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V8 - Authorization Unnecessary privilege execution
|
| Exploitation Conditions | Requires that the target uses TailwindCSS (present in Hugo's default security.exec.allow list) and builds an untrusted or attacker-influenced site - the advisory states users who do not use TailwindCSS or who only build trusted sites are not affected. The permissive Node flags (--allow-addons, --allow-child-process, --allow-worker) that TailwindCSS demands are the enabling condition, and exploitation is limited to Hugo versions after v0.43 up to before v0.165.0; it is a build-time execution path, so a build must actually be run against the malicious input. |
| Impact | The published CVSS 4.0 score is 9.3 with vector AV:N/AC:L/AT:N/PR:N/UI:N and VC:H/VI:H/VA:H, but that vector appears overstated for the described threat model. Exploitation is fundamentally a build-time issue: the advisory explicitly states that users who do not use TailwindCSS, or who only build trusted sites, are not affected - meaning an attacker must get malicious content, theme, or configuration into a site that a victim then builds locally or in CI. That implies user interaction (running the build on untrusted input) rather than a purely network-driven, no-interaction attack, and the impact is arbitrary file read/write rather than availability loss, so VA:H is questionable. There is no EPSS figure provided, no KEV listing, and no POC referenced, so this is best treated as a medium-priority hardening/supply-chain concern for teams that build untrusted Hugo sites with TailwindCSS in the pipeline, rather than a mass-exploited remote flaw despite the 9.3 headline. |
| Exploit ScenarioDerived | An attacker submits a malicious Hugo theme, module, or content that hooks into the TailwindCSS build step; when a maintainer or CI pipeline runs |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 11, 2026
Sandbox/permission-restriction bypass in the Hugo static site generator (versions after v0.43, fixed in v0.165.0) lets a Node tool invoked during a build read and write files outside the project's working directory. Because TailwindCSS ships in the default security.exec.allow list and must be run with highly permissive Node flags (--allow-addons, --allow-child-process, --allow-worker), the Node permission model that was supposed to contain build tools (from the fix for GHSA-x597-9fr4-5857) is effectively neutralized. Reported by VulnCheck; no public exploit identified at time of analysis and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to Hugo v0.165.0, which removes tailwindcss from the default security.exec.allow list so the permissive Node flags are no longer granted automatically. If you cannot upgrade immediately, the vendor-documented workaround is to define a restrictive security.exec.allow list in hugo.toml that excludes tailwindcss or narrows which executables Hugo may launch - the trade-off is that TailwindCSS-based CSS builds will fail or must be handled by an external, separately-sandboxed pipeline. Additional compensating controls: only build sites from trusted sources, and run Hugo builds inside an isolated container or CI sandbox with a read-only/scoped filesystem so that any escape is confined. See the advisory at https://github.com/gohugoio/hugo/security/advisories/GHSA-vrm6-x8vp-mv2r.
Affected VersionsENISA
Affected Packages
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
Hugo (cpe:2.3:a:gohugoio:hugo) is a widely used Go-based static site generator that can invoke external Node tooling during a build, such as the TailwindCSS CSS framework. From v0.161.0 Hugo began executing those Node tools under Node.js's built-in permission model as a hardening measure. The root cause is CWE-250 (execution with unnecessary privileges): TailwindCSS cannot function under a tight Node permission set and requires --allow-addons, --allow-child-process, and --allow-worker, and because tailwindcss was on Hugo's default security.exec.allow list, those broad grants were extended automatically. Child-process and worker permissions in particular re-open filesystem access, so the containment intended by the earlier GHSA-x597-9fr4-5857 fix could be circumvented, granting arbitrary read/write beyond the project directory during the build.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Exploitation requires a victim to build untrusted content locally with TailwindCSS (AV:L/UI:R); impact is arbitrary file read/write (C:H/I:H) with no availability loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Hugo is a static site generator. From v0.161.0, Hugo executes Node tools under Node's permission model, but TailwindCSS - included in the default security.exec.allow list - requires a highly permissive configuration (--allow-addons, --allow-child-process, --allow-worker). As a result, the restrictions intended by the fix for GHSA-x597-9fr4-5857 could still be bypassed, allowing a Node tool invoked during a build to read and write files outside the project's working directory. Affected versions are those after v0.43; the issue was fixed in v0.165.0 by removing tailwindcss from the default security.exec.allow list. Users who do not use TailwindCSS, or who only build trusted sites, are not affected. As a workaround, users can define a restrictive security.exec.allow list in hugo.toml.
Technical POC Analysis
Bug class: CWE-250, Execution with Unnecessary Privileges.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Hugo static site generator (versions 0.44-0.164) contains a Node permission bypass in the default TailwindCSS build configuration that allows read and write access outside the project directory. No public exploit has been identified at time of analysis, but the vulnerability enables supply-chain attacks where malicious build dependencies could compromise the entire file system. This affects all developers and CI/CD pipelines using vulnerable versions and requires immediate remediation.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Hugo is a fast and Flexible Static Site Generator built in Go. Rated high severity (CVSS 8.5), this vulnerability is rem
Arbitrary command execution in Hugo 0.162.0 through 0.164.x occurs when the static site generator builds a project whose
Arbitrary file disclosure in the Hugo static site generator (versions after v0.123.0 and before v0.165.0) lets an attack
Symlink-following flaws in Hugo's theme and module mount confinement allow files outside a project's mount roots to be r
Arbitrary file read in Hugo v0.161.0 through v0.165.0 allows an attacker who can contribute content to a Hugo project -
Case-sensitivity bypass in Hugo's security.http.urls IP-literal deny rule lets builds running v0.162.0 through v0.165.x
Server-side request forgery in Hugo static site generator (versions 0.91.0 through 0.165.0) allows an attacker who can s
Local file disclosure in Hugo v0.162.0 through v0.166.x allows an attacker-controlled theme or module to place a symlink
Path traversal in Hugo's asset pipeline lets a malicious theme or module bundle files from outside the project root into
Path traversal in Hugo's css.Sass transpilation pipeline (all versions before v0.167.0) lets a malicious theme or module
Symlink traversal in Hugo's virtual filesystem (v0.123.0-v0.163.0) allows a symlink planted inside a theme or local moun
Stored XSS in Hugo's default code-block renderer allows an attacker with Markdown contribution rights to inject arbitrar
EUVD-2026-76071
GHSA-c34r-xm66-hh3p
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB