Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-92133

CVE-2026-92133: Jenkins GitLab Plugin Credential Disclosure

CVE-2026-92133 is an information disclosure flaw in Jenkins GitLab Plugin that allows unauthorized access to GitLab API token credentials. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-92133 Overview

CVE-2026-92133 affects the Jenkins GitLab Plugin version 1.2149.vcfc32c82b_f7f and earlier. The plugin caches the GitLab API client built for alternative GitLab API token credentials using a cache key derived from the credentials ID alone. The cache key omits the folder in which the credentials are resolved. Attackers with Item/Configure permission can access GitLab API token credentials they are not entitled to use. The weakness maps to [CWE-522: Insufficiently Protected Credentials].

Critical Impact

Authenticated users with job configuration rights can reuse cached GitLab API tokens from other folders, breaking Jenkins credential isolation boundaries.

Affected Products

  • Jenkins GitLab Plugin 1.2149.vcfc32c82b_f7f
  • Jenkins GitLab Plugin earlier releases using the same cache implementation
  • Jenkins controllers relying on folder-scoped GitLab API token credentials

Discovery Timeline

  • 2026-09-16 - CVE CVE-2026-92133 published to NVD
  • 2026-09-16 - Jenkins Security Advisory SECURITY-3851 released
  • 2026-09-16 - Last updated in NVD database

Technical Details for CVE-2026-92133

Vulnerability Analysis

The Jenkins GitLab Plugin builds an API client instance for each set of alternative GitLab API token credentials it uses. To avoid rebuilding the client on every call, the plugin caches instances keyed by the credentials identifier. The cache lookup ignores the folder context in which the credentials were originally resolved.

Jenkins credential scoping relies on folders to isolate secrets between teams and projects. Two different folders can legitimately define distinct credentials that share the same string identifier. When the plugin services a request, it returns whichever cached client was created first for that identifier, regardless of the caller's folder scope.

The impact is confined to confidentiality and integrity of GitLab operations performed through the plugin. An attacker cannot exfiltrate the raw token value, but they can direct the cached client to perform GitLab API calls under another team's identity.

Root Cause

The root cause is an incomplete cache key. The plugin uses only the credentials ID as the map key for the GitLab API client cache. Folder path, credential domain, and resolution context are omitted. This violates the credential lookup contract enforced elsewhere in Jenkins, where folder-scoped credentials must not leak across folder boundaries.

Attack Vector

An attacker requires an authenticated Jenkins account with Item/Configure permission on any job in the controller. The attacker creates or modifies a job that references a credentials identifier matching one used in another folder. When the plugin resolves the identifier, it returns the cached API client bound to the higher-privileged folder's token. Subsequent GitLab operations execute with the victim's token privileges. Exploitation requires no user interaction and occurs entirely over the network path to the Jenkins controller. Refer to the Jenkins Security Advisory SECURITY-3851 for authoritative technical detail.

Detection Methods for CVE-2026-92133

Indicators of Compromise

  • GitLab API requests originating from the Jenkins controller that use tokens not expected for the requesting job's folder scope.
  • Creation or modification of Jenkins jobs that reference GitLab credential identifiers matching credentials stored in unrelated folders.
  • GitLab audit log entries showing token usage patterns that do not correlate with the owning team's build activity.

Detection Strategies

  • Correlate Jenkins job configuration change events with the credential identifiers referenced, flagging identifier collisions across folders.
  • Compare GitLab API token usage timestamps against the schedules of jobs authorized to hold those credentials.
  • Review Jenkins audit logs for users with Item/Configure permission who reference credential IDs outside their assigned folder tree.

Monitoring Recommendations

  • Ingest Jenkins controller logs and GitLab audit events into a centralized data lake for cross-source correlation.
  • Alert on new Jenkins jobs that reference GitLab credential identifiers previously scoped to sensitive folders.
  • Track GitLab personal access token scopes and rotate tokens observed making anomalous API calls.

How to Mitigate CVE-2026-92133

Immediate Actions Required

  • Inventory Jenkins folders and identify any GitLab credential identifiers reused across folders.
  • Restrict Item/Configure permission to trusted users until the plugin is upgraded.
  • Rotate GitLab API tokens configured in Jenkins if folder isolation was previously assumed as a security boundary.

Patch Information

Upgrade the Jenkins GitLab Plugin to a release later than 1.2149.vcfc32c82b_f7f that addresses SECURITY-3851. Consult the Jenkins Security Advisory SECURITY-3851 for the fixed version and upgrade guidance.

Workarounds

  • Use unique credential identifiers across all Jenkins folders to prevent cache key collisions.
  • Limit Item/Configure and job creation permissions using Jenkins role-based access control.
  • Restart the Jenkins controller after credential changes to flush the in-memory GitLab API client cache.

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

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.