← Vulnerability feed

Vulnerability record · CVE-2021-22242 · published 25 August 2021

CVE-2021-22242: GitLab Mermaid markdown stored XSS via insufficient input sanitization

Gitlab · Gitlab

GitLab CE/EE version 11.4 and up fails to properly sanitize input in Mermaid markdown, allowing a stored cross-site scripting payload to be embedded in markdown content. Because the payload is stored and rendered to other users, it can execute in their browsers when they view the affected content. The record does not specify the exact fixed version or a full affected version range beyond '11.4 and up'.

5.4 CVSS 3.1 Medium EPSS 64% · top 0.8% CWE-79 · Cross-site scripting
5.4CVSS 3.1 base score, v2 3.5
64%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
6References
17 Jun 2026Last modified by NVD

Description

Insufficient input sanitization in Mermaid markdown in GitLab CE/EE version 11.4 and up allows an attacker to exploit a stored cross-site scripting vulnerability via a specially-crafted markdown

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: medium.

high priorityStored XSS in a widely deployed collaboration platform with a high EPSS score and low-privilege, network-reachable attack path warrants prompt patching despite the medium CVSS base score.

What it is

GitLab CE/EE version 11.4 and up fails to properly sanitize input in Mermaid markdown, allowing a stored cross-site scripting payload to be embedded in markdown content. Because the payload is stored and rendered to other users, it can execute in their browsers when they view the affected content. The record does not specify the exact fixed version or a full affected version range beyond '11.4 and up'.

Impact

An attacker can execute arbitrary script in the browser of a victim who views the crafted markdown, potentially stealing session tokens or acting as the victim within GitLab. The CVSS scope change (S:C) indicates the impact can extend beyond the vulnerable component.

Attack surface

Reached over the network by submitting specially crafted Mermaid markdown that is later rendered to other users. The vector requires low privileges (PR:L) and user interaction (UI:R), so the attacker needs an authenticated account and the victim must view the crafted content.

Exploitation

Not listed in CISA KEV and no public exploit reference is tagged in the record, but EPSS is high at 0.63555 (99.2nd percentile), indicating elevated likelihood of exploitation activity.

What to do

  • Upgrade GitLab CE/EE to a version that includes the fix for CVE-2021-22242; consult the vendor advisory for the exact patched release.
  • If immediate upgrade is not possible, restrict or disable Mermaid rendering in markdown where feasible.
  • Limit who can create or edit markdown content that renders Mermaid diagrams.
  • Apply input sanitization or content security policy controls to reduce script execution in rendered markdown.

Detection

  • Search GitLab markdown content and repository files for Mermaid blocks containing script tags, event handlers, or javascript: URIs.
  • Monitor GitLab application logs for suspicious markdown submissions or edits by low-privileged users.
  • Review browser or proxy logs for script execution or outbound requests originating from GitLab pages rendering Mermaid content.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2021-22242 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2026-85706GitLab CE/EE repository commits API path traversal allows unauthenticated file readGitLab CE/EE contains improper path confinement and missing authentication enforcement in the repository commits API, allowing an unauthenticated use…KEVEPSS 91%analysed10.0CVE-2021-22205GitLab CE/EE image parser flaw allows unauthenticated remote code executionGitLab CE/EE failed to properly validate image files passed to a file parser, allowing code injection that leads to remote command execution. The fla…KEVEPSS 100%analysed9.8CVE-2023-7028GitLab CE/EE password reset sent to unverified email, enabling account takeoverGitLab CE/EE versions from 16.1 through 16.7 before their fixed releases could deliver account password reset emails to an unverified email address. …KEVEPSS 95%analysed9.8CVE-2021-22175GitLab unauthenticated SSRF via internal webhook requestsGitLab is vulnerable to server-side request forgery when requests to the internal network for webhooks are enabled. The flaw affects all versions sta…KEVEPSS 53%analysed7.5CVE-2021-39935GitLab CI Lint API server-side request forgeryGitLab CE/EE contains a server-side request forgery flaw in the CI Lint API affecting versions from 10.5 before 14.3.6, 14.4 before 14.4.4, and 14.5 …KEVEPSS 36%analysed10.0CVE-2020-13300Gitlab incorrect authorization vulnerabilityGitLab CE/EE version 13.3 prior to 13.3.4 was vulnerable to an OAuth authorization scope change without user consent in the middle of the authorizati…EPSS 1.3%10.0CVE-2019-9174Gitlab server-side request forgery (ssrf) vulnerabilityAn issue was discovered in GitLab Community and Enterprise Edition before 11.6.10, 11.7.x before 11.7.6, and 11.8.x before 11.8.1. It allows SSRF.EPSS 2.0%10.0CVE-2018-18843Gitlab server-side request forgery (ssrf) vulnerabilityThe Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4.4 has SSRF.EPSS 1.6%

Source: NIST National Vulnerability Database (record CVE-2021-22242), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.