CVE-2020-13329
GitLab vulnerability analysis and mitigation

Overview

A stored Cross-Site Scripting (XSS) vulnerability was discovered in GitLab's blob viewer feature, identified as CVE-2020-13329. The vulnerability affected GitLab versions from 12.6.2 prior to 12.10.13, and was disclosed and patched in July 2020. The security researcher @yvvdwf responsibly reported this vulnerability to GitLab (GitLab Release, CVE Mitre).

Technical details

The vulnerability was discovered in GitLab's blob viewer feature when viewing JSON files, particularly OpenAPI files. When the openapi_viewer was called to transfer file data to SwaggerUIBundle for rendering, it allowed HTML tags and attributes in the OpenAPI description. Although malicious tags and attributes were removed, the filtering was insufficient as class and style attributes could still be manipulated by attackers. The vulnerability received a CVSS v3.1 score of 5.4 (MEDIUM) (NVD Results).

Impact

The vulnerability allowed attackers to create a transparent layer that could intercept user clicks and execute arbitrary actions. Through data-* attributes and jquery-ujs, attackers could craft requests to the server (including PUT, DELETE, and HEAD methods) with arbitrary parameters. The existing Content Security Policy (CSP) could be bypassed using jQuery.globalEval, enabling stored XSS attacks that could perform any action on behalf of users at the client side (GitLab Issue).

Exploitability

The vulnerability could be exploited by creating a specially crafted JSON file with malicious content in the OpenAPI description field. When users viewed this file through GitLab's blob viewer, the XSS payload would execute. The proof of concept demonstrated that clicking anywhere on the document view would trigger the malicious code (GitLab Issue).

Mitigation and workarounds

GitLab addressed this vulnerability in versions 13.1.2, 13.0.8, and 12.10.13, released on July 1, 2020. The company strongly recommended that all affected installations be upgraded to one of these versions immediately. The fix involved implementing proper checks on the content generated by SwaggerUIBundle and removing inappropriate HTML attributes such as data-*, style, and class (GitLab Release).

Additional resources


SourceThis report was generated using AI

Related GitLab vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-75871CRITICAL9.6
  • GitLab logoGitLab
  • gitlab
NoYesAug 27, 2026
CVE-2026-18252HIGH8.1
  • GitLab logoGitLab
  • gitlab-rails-19.1
NoYesAug 26, 2026
CVE-2026-77801MEDIUM6.5
  • GitLab logoGitLab
  • cpe:2.3:a:gitlab:gitlab:*:*:*:*:enterprise:*:*:*
NoYesAug 26, 2026
CVE-2026-3035MEDIUM5.5
  • GitLab logoGitLab
  • cpe:2.3:a:gitlab:gitlab
NoYesAug 26, 2026
CVE-2026-7487LOW3.5
  • GitLab logoGitLab
  • gitlab-rails-19.1
NoYesAug 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management