CVE-2026-52807
Received Received - Intake
BaseFortify

Publication date: 2026-06-24

Last updated on: 2026-06-24

Assigner: GitHub, Inc.

Description
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 &lt; 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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-24
Last Modified
2026-06-24
Generated
2026-06-25
AI Q&A
2026-06-25
EPSS Evaluated
N/A
NVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
gogs gogs to 0.14.3 (exc)
semantic_ui semantic_ui to 2.4.2 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

This vulnerability exists in Gogs, an open source self-hosted Git service, prior to version 0.14.3. It involves how milestone names are rendered and handled in the New Issue page. Although milestone names are initially auto-escaped to prevent direct HTML injection, the browser decodes the text content. Semantic UI's dropdown component, which is used for milestone selection, has a default setting called preserveHTML: true. When a user interacts with the milestone dropdown, the decoded text is re-parsed as HTML by jQuery's .html() method, allowing any embedded HTML or JavaScript payload to execute. This means an attacker can store malicious code in a milestone name, which will run in the browser of any user who opens the New Issue page and interacts with the dropdown.

Impact Analysis

The vulnerability allows an attacker to execute arbitrary JavaScript code in the browsers of users who interact with the milestone dropdown on the New Issue page. This can lead to cross-site scripting (XSS) attacks, potentially enabling the attacker to steal user session data, perform actions on behalf of the user, or deliver malicious payloads. Since the attack requires user interaction with the dropdown, it relies on social engineering or user activity to trigger the payload.

Mitigation Strategies

To mitigate this vulnerability, upgrade Gogs to version 0.14.3 or later, where the issue has been fixed.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-52807. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart