Impact
A stored cross‑site scripting vulnerability was identified in GitHub Enterprise Server that allowed an authenticated attacker to execute arbitrary JavaScript in another user's browser by injecting a crafted payload into the title of a Discussion in the Q&A category. This vulnerability is a CWE‑79 stored cross‑site scripting flaw. The AnsweredQuestionStructuredDataComponent did not escape user‑controlled Discussion titles before embedding them in a <script type=\"application/ld+json\"> block, allowing the title to break out of the script context. Attackers then leveraged JSONP callback support in the REST API to bypass the Content Security Policy, escalating the stored payload to a full cross‑site scripting attack. The vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.20.4, 3.19.8, 3.18.11, 3.17.17, 3.16.20.
Affected Systems
GitHub Enterprise Server versions released before 3.21 are vulnerable; the flaw was fixed in the 3.20.4, 3.19.8, 3.18.11, 3.17.17, and 3.16.20 patch releases. Upgrading to one of these patched releases removes the vulnerability.
Risk and Exploitability
The CVSS score of 6.3 indicates moderate severity, while the EPSS score is below 1% and the vulnerability is not listed in the CISA KEV catalog. An attacker must be authenticated with rights to create or edit Discussion titles; once the malicious title is stored it will be rendered in the browsers of any user who views the Discussion or queries the API. Because the attack surface is limited to privileged users, the overall risk is moderate but still warrants rapid remediation.
OpenCVE Enrichment