
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-89258 is a symlink confinement bypass vulnerability in the Hugo static site generator affecting versions after v0.123.0 and before v0.165.0. The flaw allows path confinement to be bypassed when symlinks are placed in parent directories during direct resource lookups, enabling files outside the intended project boundaries to be read and disclosed in the built site. It is classified as an incomplete fix follow-up to prior advisories GHSA-c3wq-j5vh-68rc and GHSA-fw87-fv5r-9fpw. The vulnerability carries a CVSS v3.1 score of 6.3 (Medium) and a CVSS v4.0 score of 9.3 (Critical) (GitHub Advisory, Hugo Advisory).
The root cause is improper link resolution before file access (CWE-59), where Hugo's direct resource lookup functions — specifically resources.Get and os.ReadFile — fail to drop symlinks located in parent directories, allowing them to be followed outside the project's intended file system boundaries. An attacker must be able to place, or socially engineer a site author into placing, a symlink inside a mounted directory such as a locally vendored theme under themes/. Themes fetched as Go modules from GitHub are not affected because symlinks are stripped on download, and multi-directory walks (e.g., content/asset walking) are also unaffected — only direct lookup functions are vulnerable (GitHub Advisory, Hugo Advisory).
Successful exploitation results in unauthorized disclosure of files outside the Hugo project's intended boundaries, with sensitive file contents potentially embedded directly into the built static site and exposed to anyone who accesses it. The confidentiality impact is high, as arbitrary files readable by the Hugo process (e.g., configuration files, secrets, private keys) could be exfiltrated. There is no integrity or availability impact from this vulnerability itself, but the data exposure could facilitate further attacks (GitHub Advisory).
There is no known public proof-of-concept exploit and no evidence of in-the-wild exploitation at the time of disclosure (GitHub Advisory). The NVD SSVC assessment notes exploitation status as "none." The attack requires either direct access to place a symlink in a mounted directory or the ability to convince a site author to do so (social engineering), which limits opportunistic exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog, and no threat actor attribution has been reported.
themes/) rather than Go module-fetched themes.themes/ directory, or convince the site author to incorporate a malicious theme that contains a crafted symlink.themes/malicious-theme/), create a symlink in a parent directory path that points to a sensitive file outside the project root, such as themes/malicious-theme/../../.env or /etc/passwd.resources.Get or os.ReadFile, causing Hugo to follow the symlink during the build process.themes/ subdirectories or other mounted directories pointing to paths outside the project root; symlinks targeting sensitive files such as .env, config.toml, SSH keys, or system files like /etc/passwd.public/ output directory or embedded within built HTML/CSS/JS files.resources.Get or os.ReadFile calls.Upgrade Hugo to v0.165.0 or later, which hardens symlink handling by dropping symlinks in parent directories during direct resource lookups (Hugo Advisory). As a workaround, avoid using locally vendored themes from untrusted sources, and audit existing themes/ directories for unexpected symlinks before building. Themes fetched as Go modules from GitHub are not affected and represent a safer alternative to local vendoring.
The vulnerability was credited to researcher arpitjain099 as the finder in the Hugo security advisory (Hugo Advisory). The advisory notes this is a follow-up incomplete fix to two prior Hugo symlink vulnerabilities (GHSA-c3wq-j5vh-68rc and GHSA-fw87-fv5r-9fpw), indicating a pattern of iterative hardening in Hugo's path confinement logic. No significant broader media coverage or notable social media discussion beyond automated CVE tracking feeds has been observed.
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."