Description
A stored cross-site scripting (XSS) vulnerability was identified in GitHub Enterprise Server that allowed an authenticated attacker to inject arbitrary HTML attributes into rendered Markdown because the Markdown rendering pipeline rewrote quote characters in already-sanitized HTML without re-sanitizing the result. Crafted Markdown could abuse same-origin JavaScript gadgets to bypass Content Security Policy and gain control of the page DOM when viewed by another user. Successful exploitation could allow an attacker to read content visible to the victim, extract embedded CSRF tokens, perform state-changing actions as the victim, and exfiltrate data through same-origin writes. The payload could also propagate to repositories and organizations where the victim had write access. This vulnerability affected supported GitHub Enterprise Server releases in the 3.17, 3.18, 3.19, 3.20, 3.21, and 3.22 series and was fixed in versions 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, and 3.17.21. This vulnerability was reported via the GitHub Bug Bounty program.
Published: 2026-09-22
Score: 7.4 High
EPSS: n/a
KEV: No
Impact: Stored cross‑site scripting with DOM manipulation capable of reading, modifying, and exfiltrating data
Action: Patch Immediately
AI Analysis

Impact

A stored XSS flaw in GitHub Enterprise Server permits an authenticated attacker to inject arbitrary HTML attributes through Markdown rendering. The pipeline rewrites quote characters in already‑sanitized HTML without re‑sanitizing, allowing same‑origin JavaScript gadgets to bypass the Content Security Policy. When a victim views the rendered content, the attacker can read visible data, capture CSRF tokens, perform state‑changing actions on the victim’s behalf, and exfiltrate data via same‑origin mechanisms. The payload may propagate to any repositories or organizations where the victim has write access.

Affected Systems

GitHub Enterprise Server releases in the 3.17, 3.18, 3.19, 3.20, 3.21, and 3.22 series are affected. The issue is fixed in the following releases: 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, and 3.17.21.

Risk and Exploitability

The vulnerability scores a CVSS of 7.4, with no EPSS data available and it is not listed in the CISA KEV catalog. Exploitation requires authentication and write access to a repository or organizational content to inject malicious Markdown. Once injected, the payload is executed when viewed by another authenticated user, enabling extensive DOM manipulation and potential data exfiltration.

Generated by OpenCVE AI on September 22, 2026 at 23:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the patched version of GitHub Enterprise Server—apply at least GitHub Enterprise Server 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, or 3.17.21 based on your current release
  • Remove any existing Markdown files containing malicious payloads and re‑sanitize all existing content before rendering
  • If an immediate upgrade is not feasible, restrict or disable Markdown rendering for untrusted users and limit write permissions to mitigate the attack surface

Generated by OpenCVE AI on September 22, 2026 at 23:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 22 Sep 2026 23:30:00 +0000

Type Values Removed Values Added
First Time appeared Github
Github enterprise Server
Vendors & Products Github
Github enterprise Server

Tue, 22 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
Description A stored cross-site scripting (XSS) vulnerability was identified in GitHub Enterprise Server that allowed an authenticated attacker to inject arbitrary HTML attributes into rendered Markdown because the Markdown rendering pipeline rewrote quote characters in already-sanitized HTML without re-sanitizing the result. Crafted Markdown could abuse same-origin JavaScript gadgets to bypass Content Security Policy and gain control of the page DOM when viewed by another user. Successful exploitation could allow an attacker to read content visible to the victim, extract embedded CSRF tokens, perform state-changing actions as the victim, and exfiltrate data through same-origin writes. The payload could also propagate to repositories and organizations where the victim had write access. This vulnerability affected supported GitHub Enterprise Server releases in the 3.17, 3.18, 3.19, 3.20, 3.21, and 3.22 series and was fixed in versions 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, and 3.17.21. This vulnerability was reported via the GitHub Bug Bounty program.
Title Stored cross-site scripting vulnerability in GitHub Enterprise Server allowed HTML attribute injection via the Markdown rendering pipeline
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 7.4, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N/AU:Y'}


Subscriptions

Github Enterprise Server
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_P

Published:

Updated: 2026-09-22T20:43:56.061Z

Reserved: 2026-08-21T17:43:37.308Z

Link: CVE-2026-77912

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-22T21:17:32.483

Modified: 2026-09-22T21:17:32.483

Link: CVE-2026-77912

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-22T23:15:16Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')