Skip to main content

Hugo CVE-2026-89259

| EUVDEUVD-2026-76071 CRITICAL
Execution with Unnecessary Privileges (CWE-250)
2026-09-11 VulnCheck GHSA-c34r-xm66-hh3p
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Inject malicious content/theme into Hugo site
  2. Delivery
    Victim runs Hugo build with TailwindCSS
  3. Exploit
    Node tool launched with broad permission flags
  4. Execution
    Escape working-directory restriction via child-process/worker
  5. Impact
    Read/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 hugo on that untrusted input, the Node tool executes with --allow-child-process/--allow-worker and reads or overwrites files outside the project directory (e.g., SSH keys, CI secrets, or other repositories on the build host). No public POC is referenced, and the attack depends on the victim building the attacker-influenced site.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

hugo 0 <0.165.0

Affected Packages

euvd hugo fix: 0.165.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

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

Vendor (VulnCheck) PRIMARY 9.3 CRITICAL
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
vuln.today AI 7.1 HIGH

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Sep 11, 2026 - 13:01 EUVD
CVE Published
Sep 11, 2026 - 11:15 cve.org
CRITICAL 9.3

DescriptionCVE.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
High
one of the most widely used static site generators
Social Media
5
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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-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-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

Vendor StatusVendor

SUSE

Severity: Critical

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