Skip to main content

CVE-2023-3500: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in GitLab GitLab

Medium
VulnerabilityCVE-2023-3500cvecve-2023-3500cwe-79
Published: Wed Aug 02 2023 (08/02/2023, 00:07:15 UTC)
Source: CVE
Vendor/Project: GitLab
Product: GitLab

Description

An issue has been discovered in GitLab CE/EE affecting all versions starting from 10.0 before 16.0.8, all versions starting from 16.1 before 16.1.3, all versions starting from 16.2 before 16.2.2. A reflected XSS was possible when creating specific PlantUML diagrams that allowed the attacker to perform arbitrary actions on behalf of victims.

AI-Powered Analysis

AILast updated: 07/07/2025, 11:27:02 UTC

Technical Analysis

CVE-2023-3500 is a reflected Cross-Site Scripting (XSS) vulnerability identified in GitLab Community Edition (CE) and Enterprise Edition (EE) affecting multiple versions from 10.0 up to versions prior to 16.0.8, 16.1.3, and 16.2.2. The vulnerability arises due to improper neutralization of input during web page generation, specifically when rendering PlantUML diagrams. PlantUML is a tool integrated within GitLab to allow users to create UML diagrams from plain text descriptions. An attacker can craft malicious PlantUML diagram input that, when processed by the vulnerable GitLab instance, results in reflected XSS. This allows the injection of arbitrary scripts that execute in the context of the victim’s browser session. The vulnerability does not require authentication or user interaction, but the attacker must trick a victim into viewing a specially crafted PlantUML diagram. The CVSS v3.1 score is 4.8 (medium severity), with the vector indicating network attack vector (AV:N), high attack complexity (AC:H), no privileges required (PR:N), no user interaction (UI:N), unchanged scope (S:U), and low impact on confidentiality and integrity (C:L/I:L) with no impact on availability (A:N). No known exploits in the wild have been reported. The vulnerability could allow an attacker to perform arbitrary actions on behalf of victims, such as stealing session cookies or performing actions within the victim’s GitLab session, potentially leading to further compromise depending on the victim’s permissions. The issue affects a broad range of GitLab versions, indicating a long-standing flaw that has been recently patched in versions 16.0.8, 16.1.3, and 16.2.2. The lack of authentication requirement and the network attack vector increase the risk profile, especially in environments where GitLab is exposed to the internet or untrusted users.

Potential Impact

For European organizations, this vulnerability poses a moderate risk primarily to those using GitLab as their DevOps platform, especially if GitLab instances are accessible externally or to a wide user base. Successful exploitation could lead to session hijacking, unauthorized actions within GitLab projects, and potential leakage of sensitive project information or credentials. This can disrupt software development workflows, compromise intellectual property, and potentially facilitate further attacks such as supply chain compromises. Organizations in sectors with strict data protection regulations (e.g., GDPR) may face compliance risks if sensitive data is exposed. The reflected XSS nature means that exploitation requires social engineering to lure users into viewing malicious diagrams, but given GitLab’s collaborative nature, this is feasible. The medium CVSS score reflects limited direct impact on availability but notable confidentiality and integrity concerns. The vulnerability could be leveraged in targeted attacks against organizations with high-value software assets or critical infrastructure projects managed via GitLab.

Mitigation Recommendations

European organizations should prioritize upgrading GitLab instances to the patched versions 16.0.8, 16.1.3, or 16.2.2 as soon as possible. Until patching is complete, administrators should restrict access to GitLab to trusted users and networks, minimizing exposure to untrusted external users. Implementing Web Application Firewalls (WAFs) with rules to detect and block malicious PlantUML payloads or suspicious script injections can provide temporary protection. Educate users about the risks of clicking on untrusted links or viewing unverified PlantUML diagrams within GitLab. Review and tighten permissions to limit the impact of compromised accounts. Additionally, monitoring GitLab logs for unusual activity related to PlantUML diagram creation or rendering can help detect exploitation attempts. Organizations should also consider disabling or restricting the PlantUML feature if it is not essential to their workflows until patches are applied. Finally, integrate vulnerability scanning and continuous monitoring to detect outdated GitLab versions and ensure timely updates.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
GitLab
Date Reserved
2023-07-04T09:22:12.252Z
Cisa Enriched
true
Cvss Version
3.1
State
PUBLISHED

Threat ID: 682ea68a0acd01a249253f49

Added to database: 5/22/2025, 4:22:34 AM

Last enriched: 7/7/2025, 11:27:02 AM

Last updated: 7/27/2025, 12:44:36 AM

Views: 11

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats