GitHub Advisoryadvisory · Go
GHSA-vgvf-m4fw-938j Gogs: Stored XSS in branch and wiki views through author and committer names
MEDIUM
Official page ↗
- Aliases
- CVE-2026-26195
- Ecosystem
- Go
- Packages
- gogs.io/gogs
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-79
- Reviewed
- 2026-03-05
Affected packages
• Go gogs.io/gogs: <= 0.13.3 (no fix yet)
Description
Summary
Stored XSS is still possible through unsafe template rendering that mixes user input with `safe()` plus permissive sanitizer handling of data URLs.
Details
`safe()` still turns off escaping:
• internal/template/template.go
• `func safe(raw string) template.HTML { return template.HTML(raw) }`
Branch pages still render committer names using `safe()`:
• templates/repo/branches/overview.tmpl
• templates/repo/branches/all.tmpl
• templates/repo/wiki/view.tmpl
The locale still injects a raw second argument: conf/locale/locale_en-US.ini (`branches.updated_by = updated %[1]s by %[2]s`)
Impact
An attacker who can inject commit metadata such as author/committer name can trigger script execution on affected pages, leading to session abuse, CSRF token theft, or unauthorized actions.
Recommended Fix
• Untrusted arguments should be escaped before being used in translations.
• Data URLs should be limited or blocked in the sanitizer.
Remediation
A fix is available at https://github.com/gogs/gogs/releases/tag/v0.14.2.
Related
Alias · CVE (1)
- CVE-2026-26195 Gogs is an open source self-hosted Git service. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/gogs/gogs/security/advisories/GHSA-vgvf-m4fw-938j web
- https://nvd.nist.gov/vuln/detail/CVE-2026-26195 advisory
- https://github.com/gogs/gogs/pull/8176 web
- https://github.com/gogs/gogs/commit/ac21150a53bef3a3061f4da787ab193a8d68ecfc web
- https://github.com/gogs/gogs package
- https://github.com/gogs/gogs/releases/tag/v0.14.2 web