PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-89258 gohugoio CVE debrief

CVE-2026-89258 is a critical vulnerability in Hugo, a static site generator, affecting versions between v0.123.0 and before v0.165.0. An attacker can exploit this vulnerability by placing a symlink inside a mounted directory, allowing them to bypass path confinement and read files outside the intended project boundaries. This issue allows functions that perform direct lookups, such as resources.Get and os.ReadFile, to follow symlinks and disclose file contents in the built site. Themes mounted as Go modules fetched from GitHub have symlinks stripped on download and are not affected. Multi-directory walks, such as content/asset walking, are also not affected.

Vendor
gohugoio
Product
hugo
CVSS
CRITICAL 9.3
CISA KEV
Not listed in stored evidence
Original CVE published
2026-09-11
Original CVE updated
2026-09-11
Advisory published
2026-09-11
Advisory updated
2026-09-11

Who should care

Site administrators and developers using Hugo, especially those using themes or modules, should assess their exposure and update to version 0.165.0 or later. They should review and verify the integrity of themes and modules used in the project and implement additional security measures to prevent symlink attacks.

Why it matters

CVE-2026-89258 is a critical vulnerability in Hugo that allows an attacker to bypass path confinement and read files outside the intended project boundaries. Site administrators and developers using Hugo should assess their exposure and update to version 0.165.0 or later.

  • Path confinement bypass, allowing unauthorized file access
  • Potential data disclosure through file contents in the built site

Technical summary

The vulnerability is caused by the failure to drop symlinks in parent directories during direct resource lookups in Hugo versions between v0.123.0 and before v0.165.0. This allows an attacker to bypass path confinement and read files outside the intended project boundaries. The exploitation of this vulnerability requires an attacker to place or convince a site author to place a symlink inside a mounted directory. Themes mounted as Go modules fetched from GitHub have symlinks stripped on download and are not affected.

Defensive priority

High

Recommended defensive actions

  • Update Hugo to version 0.165.0 or later
  • Review and verify the integrity of themes and modules used in the project
  • Implement additional security measures to prevent symlink attacks
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
  • Review compensating controls for exposed systems while remediation is scheduled and verified.
  • Check relevant monitoring, detection, and logs for exposed assets that need extra review.
  • Track exceptions, retest remediated assets, and close the item only after evidence is documented.

Evidence notes

The vulnerability allows an attacker to read files outside the intended project boundaries by exploiting symlinks in parent directories. This issue is fixed in v0.165.0. The exploitation of this vulnerability requires an attacker to place or convince a site author to place a symlink inside a mounted directory. The vulnerability affects Hugo versions after v0.123.0 and before v0.165.0.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-89258 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-89258

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-89258 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-89258

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.