← Vulnerability feed

Vulnerability record · CVE-2021-39906 · published 5 November 2021

CVE-2021-39906: GitLab ipynb file validation flaw enables stored XSS

Gitlab · Gitlab

GitLab CE/EE 13.5 and above fails to properly validate ipynb (Jupyter notebook) files, allowing injected JavaScript to run in a victim's browser. Because the payload is stored in a repository artifact, any user who views the rendered notebook can be targeted, making it a persistent cross-site scripting issue in a widely deployed DevOps platform.

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

Description

Improper validation of ipynb files in GitLab CE/EE version 13.5 and above allows an attacker to execute arbitrary JavaScript code on the victim's behalf.

CVSS:3.1/AV:N/AC:L/PR:N/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 priorityHigh EPSS (0.607, 99th percentile) and a persistent XSS in a widely used platform raise real risk despite the medium CVSS score and no confirmed in-the-wild exploitation.

What it is

GitLab CE/EE 13.5 and above fails to properly validate ipynb (Jupyter notebook) files, allowing injected JavaScript to run in a victim's browser. Because the payload is stored in a repository artifact, any user who views the rendered notebook can be targeted, making it a persistent cross-site scripting issue in a widely deployed DevOps platform.

Impact

An attacker can execute arbitrary JavaScript in the context of a victim's GitLab session, potentially stealing session tokens, performing actions as the victim, or exfiltrating data the victim can access. The CVSS scope change (S:C) reflects that impact can extend beyond the vulnerable component.

Attack surface

Reached over the network by rendering a crafted ipynb file in GitLab; the vector shows no privileges required (PR:N) but user interaction is required (UI:R) for the victim to view the malicious notebook. No authentication is needed by the attacker to deliver the payload, though the HackerOne reference is tagged Permissions Required.

Exploitation

Not listed in CISA KEV and no public exploit or ransomware usage is documented in the record. EPSS is high at 0.607 (99th percentile), indicating elevated likelihood of exploitation activity, but the record does not confirm in-the-wild exploitation.

What to do

  • Upgrade GitLab CE/EE to a version that includes the fix for CVE-2021-39906; consult the vendor advisory for the exact patched release.
  • If immediate upgrade is not possible, restrict or disable rendering of ipynb files and limit who can upload them.
  • Apply a strict Content Security Policy to reduce the impact of injected JavaScript in rendered content.
  • Review repository contents for suspicious ipynb files and remove any untrusted notebooks.
  • Educate users not to open ipynb files from untrusted sources until patched.

Detection

  • Search GitLab logs and repository history for ipynb files containing script tags or JavaScript event handlers.
  • Monitor for anomalous outbound requests or session activity originating from users viewing notebook files.
  • Alert on uploads of ipynb files by untrusted or external contributors.
  • Review web proxy or browser telemetry for JavaScript execution patterns tied to GitLab notebook rendering.

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-39906 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-39906), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.