Hugo doesn't escape markdown title in internal render hooks
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Hugo is a static site generator. Starting in version 0.123.0 and prior to version 0.125.3, title arguments in Markdown for links and images not escaped in internal render hooks. Hugo users who are impacted are those who have these hooks enabled and do not trust their Markdown content files. The issue is patched in v0.125.3. As a workaround, replace the templates with user defined templates or disable the internal templates.
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| gohugoio | hugo | 0.123.0 to before 0.125.3 | 0.125.3 | Patch available | CNA |
| — | github.com/gohugoio/hugo (Go) | 0.123.0 to before 0.125.3 | 0.125.3 | Patch available | GHSA-ppf8-hhpp-f5hj |
- hugo Vendorgohugoio Affected 0.123.0 to before 0.125.3 Fixed in 0.125.3 Patch available CNA
- github.com/gohugoio/hugo (Go) Vendor— Affected 0.123.0 to before 0.125.3 Fixed in 0.125.3 Patch available GHSA-ppf8-hhpp-f5hj
Remediation
- Fix · CNA hugo (gohugoio) Fixed in 0.125.3
- Fix · GHSA-ppf8-hhpp-f5hj github.com/gohugoio/hugo (Go) Fixed in 0.125.3 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2024-32875
- 2026-10-03 Alias added: GHSA-ppf8-hhpp-f5hj
References
Other 6
- https://github.com/gohugoio/hugo/security/advisories/GHSA-ppf8-hhpp-f5hj
- https://github.com/gohugoio/hugo/releases/tag/v0.125.3
- https://gohugo.io/getting-started/configuration-markup/#renderhooksimageenabledefault
- https://github.com/gohugoio/hugo/commit/15a4b9b33715887001f6eff30721d41c0d4cfdd1
- https://github.com/gohugoio/hugo
- https://pkg.go.dev/vuln/GO-2024-2747
More gohugoio vulnerabilities
- TI-2026-60433 Hugo before v0.165.0 Insufficient Permission Restriction via TailwindCSS CVSS 4.0CRITICAL 9.3
- TI-2026-60432 Hugo before v0.165.0 Symlink Confinement Bypass via resources.Get CVSS 4.0CRITICAL 9.3
- 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
Sources
- CVE-2024-32875 · CVE Program
- CVE-2024-32875 · NVD
- FIRST EPSS
- GHSA-ppf8-hhpp-f5hj · GitHub Advisory Database · CC BY 4.0
- CVE-2024-32875 · 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