The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2020-2096

CVE-2020-2096: Jenkins Gitlab Hook XSS Vulnerability

CVE-2020-2096 is a reflected cross-site scripting flaw in Jenkins Gitlab Hook Plugin that occurs when project names are not properly escaped in the build_now endpoint. This article covers technical details, affected versions, and mitigation.

Published: March 11, 2026

CVE-2020-2096 Overview

CVE-2020-2096 is a reflected Cross-Site Scripting (XSS) vulnerability affecting Jenkins Gitlab Hook Plugin version 1.4.2 and earlier. The vulnerability exists because the plugin does not properly escape project names in the build_now endpoint, allowing attackers to inject malicious scripts that execute in the context of a victim's browser session.

Critical Impact

Attackers can exploit this XSS vulnerability to steal session cookies, capture credentials, perform actions on behalf of authenticated Jenkins users, or redirect users to malicious sites. Given Jenkins' role in CI/CD pipelines, successful exploitation could lead to supply chain compromise.

Affected Products

  • Jenkins Gitlab Hook Plugin version 1.4.2 and earlier

Discovery Timeline

  • 2020-01-15 - CVE-2020-2096 published to NVD
  • 2024-11-21 - Last updated in NVD database

Technical Details for CVE-2020-2096

Vulnerability Analysis

This reflected XSS vulnerability occurs due to improper input sanitization in the Jenkins Gitlab Hook Plugin. When the build_now endpoint processes project names, it fails to escape special characters before rendering them in the HTTP response. This allows an attacker to craft a malicious URL containing JavaScript code embedded within the project name parameter. When a victim clicks the malicious link, the unsanitized input is reflected back in the response and executed by the victim's browser within the trusted Jenkins domain context.

The vulnerability is particularly dangerous in Jenkins environments because authenticated users often have elevated privileges to manage builds, access source code, and modify CI/CD configurations. An attacker who successfully exploits this vulnerability could potentially access build secrets, API tokens, or trigger unauthorized builds.

Root Cause

The root cause of CVE-2020-2096 is CWE-79 (Improper Neutralization of Input During Web Page Generation). The build_now endpoint in the Gitlab Hook Plugin accepts project name parameters without properly sanitizing or encoding them before including them in the HTML response. This violates the fundamental security principle of treating all user input as untrusted and encoding output appropriately for the context in which it appears.

Attack Vector

The attack vector for this vulnerability is network-based, requiring user interaction. An attacker must craft a malicious URL containing XSS payload in the project name parameter and convince an authenticated Jenkins user to click the link. The attack flow is as follows:

  1. Attacker identifies a Jenkins instance running a vulnerable version of Gitlab Hook Plugin
  2. Attacker crafts a URL targeting the build_now endpoint with malicious JavaScript in the project name parameter
  3. Attacker delivers the malicious URL to victims via phishing, social engineering, or embedding in web pages
  4. When a victim with an active Jenkins session clicks the link, the malicious script executes in their browser
  5. The script can then steal session tokens, perform CSRF attacks, or exfiltrate sensitive data

The vulnerability exists in the build_now endpoint where project names are reflected without proper HTML entity encoding. When a malicious project name containing script tags or event handlers is submitted, the JavaScript executes in the victim's browser context. For detailed technical information, refer to the Packet Storm Security Advisory.

Detection Methods for CVE-2020-2096

Indicators of Compromise

  • Suspicious HTTP requests to the build_now endpoint containing encoded script tags or JavaScript event handlers
  • Unusual URL patterns with special characters like <, >, ", or ' in project name parameters
  • Web server logs showing requests with encoded payloads such as %3Cscript%3E or javascript: in query strings
  • Unexpected outbound connections from user browsers after accessing Jenkins URLs

Detection Strategies

  • Implement Web Application Firewall (WAF) rules to detect and block XSS payloads in HTTP requests
  • Monitor Jenkins access logs for anomalous requests to the build_now endpoint with suspicious parameters
  • Deploy browser-based security controls and Content Security Policy (CSP) headers to mitigate XSS impact
  • Use intrusion detection systems (IDS) with signatures for common XSS attack patterns

Monitoring Recommendations

  • Enable verbose logging for Jenkins web requests and monitor for unusual URL patterns
  • Set up alerts for multiple failed or suspicious requests to Gitlab Hook Plugin endpoints
  • Monitor for unexpected JavaScript execution or resource loading from untrusted domains
  • Review Jenkins audit logs for actions performed immediately after suspicious URL access

How to Mitigate CVE-2020-2096

Immediate Actions Required

  • Update Jenkins Gitlab Hook Plugin to the latest version that includes the security fix
  • If immediate patching is not possible, consider temporarily disabling the Gitlab Hook Plugin
  • Review Jenkins access logs for evidence of exploitation attempts
  • Implement Content Security Policy headers to reduce XSS impact

Patch Information

Jenkins has released a security advisory addressing this vulnerability. Organizations should update the Gitlab Hook Plugin to a version newer than 1.4.2. The official security advisory is available at the Jenkins Security Advisory #SECURITY-1683. Plugin updates can be applied through the Jenkins Plugin Manager interface or by downloading the updated plugin directly from the Jenkins plugin repository.

Workarounds

  • Implement strict Content Security Policy (CSP) headers that disable inline script execution
  • Use a Web Application Firewall (WAF) to filter requests containing XSS payloads
  • Restrict network access to Jenkins to trusted IP ranges to limit attacker reach
  • Educate users about phishing risks and avoiding clicking suspicious links
bash
# Example: Add CSP headers to Jenkins reverse proxy (nginx)
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline';" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeXSS

  • Vendor/TechJenkins

  • SeverityMEDIUM

  • CVSS Score6.1

  • EPSS Probability93.76%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityLow
  • AvailabilityNone
  • CWE References
  • CWE-79
  • Technical References
  • Packet Storm XSS Vulnerability

  • Openwall OSS Security Mailing List
  • Vendor Resources
  • Jenkins Security Advisory #SECURITY-1683
  • Related CVEs
  • CVE-2026-27099: Jenkins Stored XSS Vulnerability

  • CVE-2025-53658: Jenkins Applitools Eyes XSS Vulnerability

  • CVE-2023-27905: Jenkins Update-center2 XSS Vulnerability

  • CVE-2023-27898: Jenkins Stored XSS Vulnerability
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English