Skip to content
OpenAdvisories
Medium · 6.3 CVE-2026-89258 EUVD-2026-76070GHSA-8jx9-m62j-qx3c

Hugo before v0.165.0 Symlink Confinement Bypass via resources.Get

Published Sep 11, 2026 · Updated Sep 11, 2026 · Assigned by VulnCheck

Description

Hugo is a static site generator. In versions after v0.123.0 and before v0.165.0, symlinks in parent directories were not dropped during direct resource lookups, allowing path confinement to be bypassed. An attacker who can place — or who convinces a site author to place — a symlink inside a mounted directory (for example, in a locally vendored theme under themes/) can cause functions that perform direct lookups, such as resources.Get and os.ReadFile, to follow that symlink and read files outside the intended project boundaries, disclosing their contents in the built site. Themes mounted as Go modules fetched from GitHub have symlinks stripped on download and are not affected, and multi-directory walks (e.g. content/asset walking) are not affected. This issue is an incomplete-fix follow-up to GHSA-c3wq-j5vh-68rc and GHSA-fw87-fv5r-9fpw; it is fixed in v0.165.0.

Affected products

VendorProductAffectedFixed
gohugoio hugo < 0.165.0 0.165.0

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 hugo 0.165.0-1 —
Debian 13 hugo No fix yet —
Debian 12 hugo No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 hugo No fix yet —
Ubuntu 26.04 LTS hugo No fix yet —
Ubuntu 22.04 LTS hugo No fix yet —
Ubuntu 20.04 LTS hugo No fix yet —
Ubuntu 18.04 LTS hugo No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS hugo No fix yet —
Ubuntu Pro 24.04 LTS hugo No fix yet —

References