AI description
CVE-2026-10585 is a stored cross-site scripting (XSS) vulnerability found in GitHub Enterprise Server. An authenticated attacker can exploit this by embedding a specially crafted payload within the title of a Discussion in the Q&A category. When another authenticated user views this Discussion, the malicious JavaScript is executed in their browser. The vulnerability arises because the `AnsweredQuestionStructuredDataComponent` fails to properly escape user-controlled Discussion titles before embedding them into a `<script type="application/ld+json">` block. This allows the attacker to break out of the JSON-LD block and inject arbitrary markup. Furthermore, attackers can escalate this injection to a full XSS attack by leveraging JSONP callback support in the REST API to bypass the Content Security Policy (CSP) of GitHub Enterprise Server.
- Description
- 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. 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. The injection was escalated to a full cross-site scripting attack on GitHub Enterprise Server by leveraging JSONP callback support in the REST API to bypass the Content Security Policy. This 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. This vulnerability was reported via the GitHub Bug Bounty program.
- Source
- product-cna@github.com
- NVD status
- Analyzed
- Products
- enterprise_server
CVSS 4.0
- Type
- Secondary
- Base score
- 6.3
- Impact score
- -
- Exploitability score
- -
- Vector string
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:H/SI:H/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
- Severity
- MEDIUM
CVSS 3.1
- Type
- Primary
- Base score
- 5.4
- Impact score
- 2.7
- Exploitability score
- 2.3
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Severity
- MEDIUM
- product-cna@github.com
- CWE-79
- Hype score
- Not currently trending
[
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*",
"matchCriteriaId": "09FDB053-8EF5-4CAF-9C05-090985C57A77",
"versionEndExcluding": "3.16.20",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*",
"matchCriteriaId": "F0612BD3-C04E-4A34-ACEF-4D1F4F723E47",
"versionEndExcluding": "3.17.17",
"versionStartIncluding": "3.17.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*",
"matchCriteriaId": "0553891C-ED0B-4D2C-A832-29996F0CE8B2",
"versionEndExcluding": "3.18.11",
"versionStartIncluding": "3.18.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*",
"matchCriteriaId": "E67B4A61-E777-4B50-8DFC-DDF6292C4771",
"versionEndExcluding": "3.19.8",
"versionStartIncluding": "3.19.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:*",
"matchCriteriaId": "A51E85E4-FF55-497C-A39F-F69E224E63BD",
"versionEndExcluding": "3.20.4",
"versionStartIncluding": "3.20.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
]