Impact
The vulnerability lies in Gogs’ Jupyter Notebook sanitizer endpoint, which accepts data: URIs without restricting the scheme. The endpoint is publicly reachable and requires no authentication, allowing any registered user to submit payloads. Attackers can embed malicious HTML or JavaScript through data:text/html URIs, resulting in cross‑site scripting when the notebook is displayed in the browser, compromising confidentiality and integrity for end‑users.
Affected Systems
The issue affects all Gogs installations running a version earlier than 0.14.3. The product is the Gogs self‑hosted Git service, with the vulnerable endpoint at POST /-/api/sanitize_ipynb.
Risk and Exploitability
The CVSS score of 5.4 indicates a moderate severity. Exploitation is straightforward because the endpoint is unauthenticated and accepts arbitrary data URI schemes; no additional credentials are required. The vulnerability is not listed in CISA KEV and no EPSS score is available, implying limited documented exploitation. Nonetheless, the presence of XSS through a public API makes it a condition worth addressing promptly.
OpenCVE Enrichment
Github GHSA