Hugo symlink confinement bypass in os.ReadFile
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-59 and the CVSS impact.
Summary
Hugo is a static site generator. From v0.123.0 through v0.163.0, Hugo's virtual filesystem is designed so that files under a mount cannot reach outside the mount tree, but a regression caused RootMappingFs.statRoot to call Stat, which follows symlinks, instead of Lstat, so a direct os.ReadFile "somefile" where somefile was a symlink pointing outside the mount would return the target's contents. This effectively let a symlink planted inside a theme or local mount read arbitrary files reachable to the user running hugo. This issue is fixed in v0.163.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA hugo (gohugoio) Fixed in 0.163.1
Red Hat 1 advisory
- RHSA-2026:36862 Released 2026-07-08 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images hugo-main@aarch64, hugo-main@src, hugo-main@x86_64
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Hardened Images | Fixed | RHSA-2026:36862 |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-58403
References
More gohugoio Hugo vulnerabilities
- TI-2026-64848 Hugo before v0.166.0 Path Traversal via Symlinked Mount Roots CVSS 4.0HIGH 8.7
- TI-2026-64846 Hugo v0.161.0 to v0.165.0 Arbitrary File Read via Symlinks CVSS 4.0HIGH 8.7
- TI-2026-53153 Hugo 0.162.0 to 0.164.x - Node Permission Model Bypass via Default TailwindCSS Child-Process Grant CVSS 4.0CRITICAL 9.3
- TI-2020-16105 Hugo can execute a binary from the current directory on Windows CVSS 3.1HIGH 8.5
- TI-2026-64849 Hugo v0.162.0 before v0.166.0 IP-literal Deny Rule Bypass CVSS 4.0HIGH 8.6
- TI-2026-32270 Hugo: Node tool execution allows file system access outside the project directory CVSS 4.0MEDIUM 6.2
Sources
- CVE-2026-58403 · CVE Program
- CVE-2026-58403 · NVD
- FIRST EPSS
- CVE-2026-58403 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences