CVE-2026-52807 json
Gogs: DOM-based XSS via Milestone Name on New Issue Page
published 2026-06-23 4 mo ago modified 2026-07-21 3 mo ago also GHSA-vcm5-gvmp-78mp , GO-2026-5661 , EUVD-2026-39075
- cvss
- 4.8
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 41%
- public exploits
- 0
- none known
Summary
Gogs is an open source self-hosted Git service. Prior to 0.14.3, in new_form.tmpl, milestone names are rendered with Go's default auto-escaping ({{.Name}}), which converts < to < etc. This prevents direct HTML injection. However, when the browser renders the DOM, the text content of the element contains the decoded original payload. Semantic UI 2.4.2's dropdown component has preserveHTML: true as the default setting. When a user selects a dropdown item, the internal set.text() method calls jQuery's .html() with the item's text content. This re-parses the decoded text as HTML, creating the injected element and triggering the JavaScript event handler. An attacker can store an HTML/JavaScript payload in a milestone name, and when any user opens the New Issue page and interacts with the milestone dropdown, the payload executes in their browser via Semantic UI's preserveHTML behavior. This vulnerability is fixed in 0.14.3.
Patch / fix
- go gogs.io/gogs 0.14.3
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- github.com/gogs/gogs@573eacd commit
- github.com/gogs/gogs#8325 pull request
- github.com/gogs/gogs/releases/tag/v0.14.3 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/gogs/gogs/security/advisories/GHSA-vcm5-gvmp-78mp referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 4.8 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| CNA | 4.0 | 4.8 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | gogs.io/gogs | <0.14.3 all versions |
0.14.3 |
Affected products
- gogs gogs
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/gogs/gogs/pull/8325
web
-
github.com
/gogs/gogs/commit/573eacdc658641487f8ad883da96b29ec8e2852d
web
-
github.com
/gogs/gogs/security/advisories/GHSA-vcm5-gvmp-78mp
exploit, web, advisory
-
github.com
/gogs/gogs/releases/tag/v0.14.3
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-52807
advisory
-
github.com
/gogs/gogs
package
Sources
- CVE List CVE-2026-52807
- GitHub Advisory GHSA-vcm5-gvmp-78mp
- NVD CVE-2026-52807
- OSV GO-2026-5661
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.