CVE-2026-100690
CVE-2026-100690 is a high-severity vulnerability in Gohugo Hugo with a CVSS 3.x base score of 7.5. 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-59.
Key facts
- Severity: High (CVSS 3.x base score 7.5)
- CVSS v4: 8.7
- EPSS exploit prediction: 0% (26th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-59
- Affected product: Gohugo Hugo
- Published:
- Last modified:
Description
Hugo versions from v0.161.0 through v0.165.0 run Node.js tools (css.PostCSS, css.TailwindCSS, js.Babel) under the Node.js permission model to restrict file system reads to the project directory and configured mounts. Because the Node.js permission model validates only the lexical path and follows symbolic links that point outside the allowed set, Hugo did not detect symlinks escaping the sandbox. An attacker who can contribute content to a Hugo project (for example via a pull request) can commit a symlink such as assets/css/x.css -> /etc/passwd together with a PostCSS plugin that reads it, allowing any file readable by the Hugo build process to be disclosed and potentially embedded in the published site. This affects builds using the default security configuration; projects that do not invoke Node.js tools are unaffected. Fixed in v0.166.0, which scans allowed paths and fails the build when a symbolic link resolves outside them.
Frequently asked questions
- What is CVE-2026-100690?
- Hugo versions from v0.161.0 through v0.165.0 run Node.js tools (css.PostCSS, css.TailwindCSS, js.Babel) under the Node.js permission model to restrict file system reads to the project directory and configured mounts. Because the Node.js permission model validates only the lexical path and follows symbolic links that point outside the allowed set, Hugo did not detect symlinks escaping the sandbox. An attacker who can contribute content to a Hugo project (for example via a pull request) can commit a symlink such as assets/css/x.css -> /etc/passwd together with a PostCSS plugin that reads it, allowing any file readable by the Hugo build process to be disclosed and potentially embedded in the published site. This affects builds using the default security configuration; projects that do not invoke Node.js tools are unaffected. Fixed in v0.166.0, which scans allowed paths and fails the build when a symbolic link resolves outside them.
- How severe is CVE-2026-100690?
- CVE-2026-100690 has a CVSS 3.x base score of 7.5, rated high severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity none, and availability none.
- Is CVE-2026-100690 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (26th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-100690?
- CVE-2026-100690 affects Gohugo Hugo. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-100690?
- 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-100690 published?
- CVE-2026-100690 was published on 2026-09-26 and last updated on 2026-09-30.
References
- https://github.com/gohugoio/hugo/security/advisories/GHSA-x3mx-cm49-8m9c
- https://www.vulncheck.com/advisories/hugo-0.161.0-to-0.165.0-arbitrary-file-read-via-symlinks
Affected products (1)
- cpe:2.3:a:gohugo:hugo:*:*:*:*:*:*:*:*
More vulnerabilities in Gohugo Hugo
- CVE-2026-75926 — High (CVSS 8.6): Hugo 0.161.0 placed the Node asset pipelines behind the Node.js permission model so that code running through PostCSS,…
- 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-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-59 (Improper Link Resolution Before File Access (Link Following)) vulnerabilities
- CVE-2024-37143 — Critical (CVSS 10.0): Dell PowerFlex appliance versions prior to IC 46.381.00 and IC 46.376.00, Dell PowerFlex rack versions prior to RCM…
- CVE-2024-28189 — Critical (CVSS 10.0): Judge0 is an open-source online code execution system. The application uses the UNIX chown command on an untrusted file…
- CVE-2024-28185 — Critical (CVSS 10.0): Judge0 is an open-source online code execution system. The application does not account for symlinks placed inside the…
- CVE-2022-22995 — Critical (CVSS 10.0): The combination of primitives offered by SMB and AFP in their default configuration allows the arbitrary writing of…
- CVE-2014-4480 — Critical (CVSS 10.0): Directory traversal vulnerability in afc in AppleFileConduit in Apple iOS before 8.1.3 and Apple TV before 7.0.3 allows…
- CVE-2002-2374 — Critical (CVSS 10.0): Unspecified vulnerability in pprosetup in Sun PatchPro 2.0 has unknown impact and attack vectors related to "unsafe use…
Browse all CWE-59 (Improper Link Resolution Before File Access (Link Following)) vulnerabilities →