Skip to main content

Groovy Libraries Plugin CVE-2026-48921

| EUVDEUVD-2026-32512 HIGH
Improper Link Resolution Before File Access (CWE-59)
2026-05-27 jenkinsci-cert@googlegroups.com GHSA-qjq3-wqj5-g37q
7.5
CVSS 3.1 · Vendor: googlegroups
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged Jenkins user
  2. Delivery
    Commit symlink into controlled shared library
  3. Exploit
    Pipeline job loads and checks out library
  4. Execution
    Plugin follows symlink to controller file
  5. Persist
    Read arbitrary controller files (secrets)
  6. Impact
    Exfiltrate via build output

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Exploitation requires that the attacker can control the content of a shared library that is actually used by a Pipeline job - concretely, write/commit access to the SCM repository backing a global, folder, or automatically-loaded shared library, or the ability to define such a library, plus an authenticated Jenkins account (CVSS PR:L). The malicious symlink must be present in a library that a job loads and checks out on the controller. Limiting factors: this is NOT remote-unauthenticated against a default install - it needs an authenticated, low-privileged actor with library-content control, the targeted job must consume the attacker-influenced library, and CVSS AC:H signals additional non-trivial conditions (a usable symlink target path on the controller and a build that surfaces the read content). It is constrained to environments where library authors are less trusted than the controller's filesystem, such as multi-tenant or shared Jenkins instances.

Impact

Signals are mixed and should be weighed deliberately. The CVSS base score is 7.5 with vector AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - network reachable, but with High attack complexity and requiring Low (i.e., authenticated) privileges. Notably, the CVSS impact metrics (C:H/I:H/A:H) overstate the effect described: the description and the 'Information Disclosure' tag indicate arbitrary file READ only, which would normally map to C:H/I:N/A:N - verify the integrity/availability impact with the vendor, as it may be a conservative Jenkins scoring convention rather than a true write/DoS primitive. SSVC reinforces a lower urgency: Exploitation=none, Automatable=no, Technical Impact=total. No KEV listing and no public exploit exist. The practical gate is that the attacker must already be able to control library content used by a job, which limits this to insiders or users with write access to a library repo; combined with AC:H this is meaningful but not wormable. Realistic priority: moderate - patch in the normal cycle, prioritized higher in multi-tenant Jenkins where library authors are less trusted than controller secrets.

Exploit ScenarioDerived

A developer with write access to a Git repository used as a Jenkins shared library commits a symbolic link pointing at a sensitive path on the controller (for example, a credentials or secrets file). When a Pipeline job loads that library, the plugin follows the symlink and the linked file's contents become readable to the build, which then prints or copies the data out. No public proof-of-concept is identified, and the High attack complexity reflects the need to control library content and have a job consume it.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 27, 2026

Arbitrary file read on the Jenkins controller is possible in the Jenkins 'Pipeline: Groovy Libraries Plugin' (version 797.v90ea_a_9b_e45a_0 and earlier), where the plugin fails to prohibit symbolic links inside shared libraries. An attacker who can control the contents of a shared library consumed by a Pipeline job can plant symlinks that resolve to sensitive files (credentials, secrets, configuration) on the controller filesystem and exfiltrate them through the build. There is no public exploit identified at time of analysis, and SSVC marks exploitation status as none, so this is a patch-and-move-on issue rather than an active-exploitation emergency.

RemediationAI

Upgrade the Jenkins 'Pipeline: Groovy Libraries Plugin' to the fixed release published in the Jenkins security advisory; the exact patched version number is not present in the provided input data, so consult https://www.jenkins.io/security/advisory/2026-05-27/#SECURITY-3727 and the Jenkins update center for the specific fixed version rather than relying on an invented version string. Until you can update, reduce exposure by restricting who can author or modify shared libraries: limit global/folder-level shared library definitions to trusted administrators, and require that library SCM repositories are write-restricted so untrusted users cannot commit symlinks (trade-off: slows down self-service library development). Prefer pinning libraries to specific trusted revisions and disabling 'allow default version to be overridden' / dynamic loading where feasible (trade-off: less flexibility for job authors). Audit recent builds that loaded shared libraries for unexpected symlinks or file access, and rotate any controller secrets that an untrusted library author could have read if you suspect exposure.

Affected VersionsENISA

Jenkins Pipeline: Groovy Libraries Plugin 0 ≤797.v90ea_a_9b_e45a_0

Affected Packages

maven io.jenkins.plugins:pipeline-groovy-lib fix: 798.v5cc688825312
euvd jenkins_pipeline_groovy_libraries_plugin no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is the Jenkins 'Pipeline: Groovy Libraries Plugin', which lets Pipeline jobs load reusable Groovy code from 'shared libraries' typically backed by an SCM repository (Git, etc.). When such a library is retrieved and checked out, its files are placed on the Jenkins controller. The root cause is CWE-59 (Improper Link Resolution Before File Access, i.e., link following / a symlink attack): the plugin does not strip or reject symbolic links contained in the library, so a symlink committed into the library will be followed and resolved against the controller's real filesystem rather than being confined to the library workspace. This is a classic path-confinement failure where untrusted, attacker-supplied repository content is materialized on a privileged host without sanitizing links.

Know when Pipeline gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (googlegroups) PRIMARY 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat 5.5 MEDIUM

Primary rating from Vendor (googlegroups).

CVSS VectorVendor: googlegroups

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
CVSS changed
May 27, 2026 - 20:22 NVD
7.5 (None) 7.5 (HIGH)

DescriptionCVE.org

Jenkins Pipeline: Groovy Libraries Plugin 797.v90ea_a_9b_e45a_0 and earlier does not prohibit symbolic links in shared libraries, allowing attackers able to control the content of a library used by a Pipeline job to read arbitrary files on the Jenkins controller filesystem.

Executive ViewAI

Why It Matters

The Jenkins Pipeline: Groovy Libraries Plugin (version 797.v90ea_a_9b_e45a_0 and earlier) allows attackers with write access to shared library repositories to exfiltrate credentials, API tokens, and configuration data from Jenkins controllers through symlink exploitation. Organizations using shared libraries across teams risk exposure of production secrets through a single compromised or untrusted library source. Immediate access controls and inventory of shared library sources are required.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict shared library repository commit access to explicitly approved trusted committers with multi-factor authentication; (2) Enforce code review and approval workflow for all library modifications; (3) Monitor Jenkins controller filesystem access logs for suspicious symlink creation in shared library paths; (4) Disable shared library functionality if not required for operations; (5) Isolate Jenkins controllers processing untrusted pipeline inputs on separate infrastructure.

Threat Intelligence Overview

EPSS Score
0.0%
Top 85% exploitable
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2019-1003030 CRITICAL POC
9.9 Mar 08

A sandbox bypass vulnerability exists in Jenkins Pipeline: Groovy Plugin 2.63 and earlier in pom.xml, src/main/java/org/

CVE-2019-1003002 HIGH POC
8.8 Jan 22

A sandbox bypass vulnerability exists in Pipeline: Declarative Plugin 1.3.3 and earlier in. Rated high severity (CVSS 8.

CVE-2019-1003001 HIGH POC
8.8 Jan 22

A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.61 and earlier in src/main/java/org/jenkinsci/plugins

CVE-2022-43402 CRITICAL
9.9 Oct 19

A sandbox bypass vulnerability involving various casts performed implicitly by the Groovy language runtime in Jenkins Pi

CVE-2019-1003041 CRITICAL
9.8 Mar 28

A sandbox bypass vulnerability in Jenkins Pipeline: Groovy Plugin 2.64 and earlier allows attackers to invoke arbitrary

CVE-2017-1000096 HIGH
8.8 Oct 05

Arbitrary code execution due to incomplete sandbox protection: Constructors, instance variable initializers, and instanc

CVE-2022-43407 HIGH
8.8 Oct 19

Jenkins Pipeline: Input Step Plugin 451.vf1a_a_4f405289 and earlier does not restrict or sanitize the optionally specifi

CVE-2020-2166 HIGH
8.8 Mar 25

Jenkins Pipeline: AWS Steps Plugin 1.40 and earlier does not configure its YAML parser to prevent the instantiation of a

CVE-2020-2109 HIGH
8.8 Feb 12

Sandbox protection in Jenkins Pipeline: Groovy Plugin 2.78 and earlier can be circumvented through default parameter exp

CVE-2018-1000866 HIGH
8.8 Dec 10

A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.59 and earlier in groovy-sandbox/src/main/java/org/ko

CVE-2026-40938 HIGH
8.5 Apr 21

Argument injection in the Tekton Pipelines git resolver (versions 1.0.0 through 1.11.0) lets a multi-tenant CI/CD user a

CVE-2022-30945 HIGH
8.5 May 17

Jenkins Pipeline: Groovy Plugin 2689.v434009a_31b_f1 and earlier allows loading any Groovy source files on the classpath

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy