CVE-2026-75926
CVE-2026-75926 is a high-severity vulnerability in Gohugo Hugo with a CVSS 3.x base score of 8.6. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-1188.
Key facts
- Severity: High (CVSS 3.x base score 8.6)
- CVSS v4: 9.3
- EPSS exploit prediction: 0% (19th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-1188
- Affected product: Gohugo Hugo
- Published:
- Last modified:
Description
Hugo 0.161.0 placed the Node asset pipelines behind the Node.js permission model so that code running through PostCSS, Babel, or TailwindCSS could not reach the file system outside the project directory. Hugo 0.162.0 added tailwindcss to the AllowChildProcess default in config/security/securityConfig.go, which makes nodePermissionArgs in common/hexec/exec.go append --allow-child-process whenever the tool being launched is named tailwindcss. TailwindCSS loads the site's tailwind.config.js through require at startup, so top-level code in that file executes inside the permitted Node process and can call child_process to spawn a shell. The spawned process is not a Node process and inherits none of the permission flags, so it runs with the full privileges of the account performing the build. Building a site whose theme, module, or starter template supplies the Tailwind configuration therefore yields arbitrary command execution rather than the confined file access the permission model was introduced to enforce. Hugo 0.165.0 removes tailwindcss from the default security.exec.allow list, so the tool is no longer launched under the default configuration.
Frequently asked questions
- What is CVE-2026-75926?
- Hugo 0.161.0 placed the Node asset pipelines behind the Node.js permission model so that code running through PostCSS, Babel, or TailwindCSS could not reach the file system outside the project directory. Hugo 0.162.0 added tailwindcss to the AllowChildProcess default in config/security/securityConfig.go, which makes nodePermissionArgs in common/hexec/exec.go append --allow-child-process whenever the tool being launched is named tailwindcss. TailwindCSS loads the site's tailwind.config.js through require at startup, so top-level code in that file executes inside the permitted Node process and can call child_process to spawn a shell. The spawned process is not a Node process and inherits none of the permission flags, so it runs with the full privileges of the account performing the build. Building a site whose theme, module, or starter template supplies the Tailwind configuration therefore yields arbitrary command execution rather than the confined file access the permission model was introduced to enforce. Hugo 0.165.0 removes tailwindcss from the default security.exec.allow list, so the tool is no longer launched under the default configuration.
- How severe is CVE-2026-75926?
- CVE-2026-75926 has a CVSS 3.x base score of 8.6, rated high severity. It is exploitable over local access with low attack complexity, requires no privileges and user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2026-75926 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (19th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-75926?
- CVE-2026-75926 affects Gohugo Hugo. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-75926?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- When was CVE-2026-75926 published?
- CVE-2026-75926 was published on 2026-08-18 and last updated on 2026-09-29.
References
- https://github.com/gohugoio/hugo
- https://github.com/gohugoio/hugo/blob/v0.164.0/common/hexec/exec.go#L292-L295
- https://github.com/gohugoio/hugo/blob/v0.164.0/config/security/securityConfig.go#L72-L79
- https://github.com/gohugoio/hugo/commit/8a55df7af2e6da31297245cc54fa2e3b521d93e8
- https://github.com/gohugoio/hugo/issues/15178
- https://www.vulncheck.com/advisories/hugo-to-x-node-permission-model-bypass-via-default-tailwindcss-child-process-grant
Affected products (1)
- cpe:2.3:a:gohugo:hugo:*:*:*:*:*:*:*:*
More vulnerabilities in Gohugo Hugo
- CVE-2026-100693 — High (CVSS 8.4): Hugo versions from v0.162.0 before v0.166.0 contain a case-sensitive validation flaw in the security.http.urls…
- CVE-2026-44301 — High (CVSS 8.1): Hugo is a static site generator. From 0.43 to before 0.161.0, when building a Hugo site that uses Node-based asset…
- CVE-2020-26284 — High (CVSS 7.7): Hugo is a fast and Flexible Static Site Generator built in Go. Hugo depends on Go's `os/exec` for certain features,…
- CVE-2026-100692 — High (CVSS 7.5): Hugo is a static site generator. In versions after v0.123.0 and before v0.166.0, Hugo's symlink confinement checks…
- CVE-2026-100690 — High (CVSS 7.5): Hugo versions from v0.161.0 through v0.165.0 run Node.js tools (css.PostCSS, css.TailwindCSS, js.Babel) under the…
- CVE-2026-58404 — Medium (CVSS 6.8): Hugo is a static site generator. From v0.162.0 through v0.163.0, the default security.http.urls policy denies requests…
All CVEs affecting Gohugo Hugo →
Other CWE-1188 (Insecure Default Initialization of Resource) vulnerabilities
- CVE-2026-87827 — Critical (CVSS 10.0): Certain KGUARD DVR devices running vulnerable firmware expose a system command execution service on all network…
- CVE-2026-31957 — Critical (CVSS 10.0): Himmelblau is an interoperability suite for Microsoft Azure Entra ID and Intune. From 3.0.0 to before 3.1.0, if…
- CVE-2025-41672 — Critical (CVSS 10.0): A remote unauthenticated attacker may use default certificates to generate JWT Tokens and gain full access to the tool…
- CVE-2024-0001 — Critical (CVSS 10.0): A condition exists in FlashArray Purity whereby a local account intended for initial array configuration remains active…
- CVE-2024-2912 — Critical (CVSS 10.0): An insecure deserialization vulnerability exists in the BentoML framework, allowing remote code execution (RCE) by…
- CVE-2021-34795 — Critical (CVSS 10.0): Multiple vulnerabilities in the web-based management interface of the Cisco Catalyst Passive Optical Network (PON)…
Browse all CWE-1188 (Insecure Default Initialization of Resource) vulnerabilities →