
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-89259 is a privilege escalation and file system escape vulnerability in the Hugo static site generator, classified as an incomplete fix for a prior security advisory (GHSA-x597-9fr4-5857). Starting from Hugo v0.161.0, Hugo executes Node tools under Node's permission model; however, TailwindCSS — included in the default security.exec.allow list — requires highly permissive Node flags (--allow-addons, --allow-child-process, --allow-worker), effectively nullifying the intended sandboxing. This allows a Node tool invoked during a Hugo build to read and write files outside the project's working directory. All Hugo versions after v0.43 and before v0.165.0 are affected. The vulnerability carries a CVSS v3.1 score of 9.8 (Critical) and a CVSS v4.0 score of 9.3 (Critical) (GitHub Advisory, Hugo Advisory).
The root cause is CWE-250 (Execution with Unnecessary Privileges): Hugo's Node permission model, introduced in v0.161.0 as a security hardening measure, is undermined because TailwindCSS was retained in the default security.exec.allow list despite requiring the highly permissive Node flags --allow-addons, --allow-child-process, and --allow-worker. These flags grant the Node process broad access to the host file system, child process spawning, and worker threads — capabilities that directly bypass the directory isolation intended by the prior fix for GHSA-x597-9fr4-5857. An attacker who can supply or influence a Hugo site's build configuration (e.g., via a malicious theme or repository) can leverage TailwindCSS's elevated permissions to escape the project working directory. The vulnerability was reported by security researcher mtholmquist (Hugo Advisory, GitHub Advisory).
Successful exploitation allows an attacker to read sensitive files anywhere on the host file system accessible to the build process, and to write arbitrary files outside the project's working directory, potentially enabling persistent backdoors or overwriting critical system or application files. The confidentiality, integrity, and availability of the build host are all at high risk. In CI/CD environments where Hugo builds are automated, this could lead to supply chain compromise, credential theft (e.g., reading secrets or SSH keys), or injection of malicious content into the generated site (GitHub Advisory, Hugo Advisory).
As of the disclosure date (September 11, 2026), there is no public proof-of-concept exploit and no evidence of in-the-wild exploitation (GitHub Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. NVD's SSVC assessment rates it as automatable with total technical impact, reflecting the low barrier to exploitation in environments that build untrusted Hugo sites using TailwindCSS. No threat actor attribution has been reported.
security.exec.allow list and runs with --allow-addons, --allow-child-process, and --allow-worker, craft a Node addon or child process payload that is invoked by TailwindCSS during CSS processing.~/.ssh/id_rsa, environment files with secrets, or CI/CD credential stores) or write malicious files to arbitrary locations on the host.~/.ssh/, /tmp/, or application credential directories attributable to the Hugo build process.--allow-addons, --allow-child-process, or --allow-worker during a Hugo build; unexpected child processes (e.g., curl, wget, shell scripts) spawned from the Node.js process during TailwindCSS execution.Upgrade Hugo to v0.165.0 or later, which removes tailwindcss from the default security.exec.allow list, eliminating the overpermissive Node execution context (Hugo Advisory). As an immediate workaround for users who cannot upgrade, define a restrictive security.exec.allow list in hugo.toml that explicitly excludes tailwindcss and any other Node tools requiring elevated permissions — for example:
[security.exec]
allow = ['^(go|npx|babel|node|git)$']Users who do not use TailwindCSS in their builds, or who only build from fully trusted sources, are not affected and require no immediate action (GitHub Advisory).
The vulnerability was reported to the Hugo project by security researcher mtholmquist and disclosed via GitHub Security Advisories on August 27, 2026, with the CVE published on September 11, 2026 (Hugo Advisory). Social media activity was observed on Mastodon and Bluesky shortly after disclosure, with automated CVE tracking accounts amplifying the advisory. No major security vendor blog posts or in-depth technical write-ups have been published as of the disclosure date.
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."