Hugo's default fenced-code-block renderer writes attribute values taken from the code-fence info string into the rendered HTML without escaping them. New in markup/internal/attributes/attributes.go c…
Medium CVSS 5.4
Summary
Hugo's default fenced-code-block renderer writes attribute values taken from the code-fence info string into the rendered HTML without escaping them. New in markup/internal/attributes/attributes.go converts every attribute value from a byte slice to a string as it is stored, deliberately dropping the escaping that used to happen there, and RenderAttributes in the same file escapes only values that are still byte slices, so its escaping branch is never reached and every value is written verbatim…
In-depth triage
No in-depth report has been generated yet (DR-003 v2 AI pipeline is under construction).
Sources
- NVD DATABASE
Original Links
- https://github.com/gohugoio/hugo
- https://github.com/gohugoio/hugo/blob/v0.165.0/markup/goldmark/codeblocks/render.go
- https://github.com/gohugoio/hugo/blob/v0.165.0/markup/highlight/highlight.go
- https://github.com/gohugoio/hugo/blob/v0.165.0/markup/internal/attributes/attributes.go
- https://www.vulncheck.com/advisories/hugo-through-stored-cross-site-scripting-via-unescaped-code-fence-attribute-values
Timeline
- nvd_ingest NVD