CVE-2020-2191: Improper permission checks in Jenkins Swarm Plugin

org.jenkins-ci.plugins:swarm Updated 02 Oct 2025

Summary

24/05/2022
Yes i
Moderate
5.4

CVE-2020-2191: Improper permission checks in Jenkins Swarm Plugin. Affects org.jenkins-ci.plugins:swarm versions < 3.21. Fixed in 3.21. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

The Jenkins Swarm Plugin is an extension that allows Jenkins agents to automatically discover and connect to a Jenkins master. It provides a convenient way to dynamically scale Jenkins by adding and removing agents as needed. The plugin adds API endpoints to add or remove agent labels, which are used to categorize agents based on their capabilities. These labels are crucial for assigning jobs to the appropriate agents. However, prior to version 3.21, the plugin had a vulnerability that allowed users with Agent/Create permission to add or remove labels of any agent, without proper permission checks. This could potentially lead to unauthorized access and misuse of agent resources.

Vulnerability Detail

The vulnerability (CVE-2020-2191) in the Jenkins Swarm Plugin arises from the lack of proper permission checks when adding or removing agent labels. In versions 3.20 and earlier, these API endpoints only required a global Swarm secret for authentication, without performing any regular permission checks. This means that users with Agent/Create permission could manipulate the labels of any agent, regardless of their assigned permissions. This vulnerability has a CVSS score of 5.4, indicating a moderate severity level. Exploiting this vulnerability could result in unauthorized access to agent resources and potential misuse of the Jenkins environment.

How To Fix

Minimum fixed version

3.21

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, users can restrict the permissions of users with Agent/Create permission to minimize the risk of unauthorized label manipulation. By carefully assigning permissions and limiting the number of users with this permission, the impact of the vulnerability can be reduced. However, this workaround is not a permanent solution and should be accompanied by upgrading to the latest version of the Jenkins Swarm Plugin.

Conclusion

In conclusion, the Jenkins Swarm Plugin prior to version 3.21 had a vulnerability that allowed users with Agent/Create permission to manipulate agent labels without proper permission checks. This could result in unauthorized access and misuse of agent resources. Upgrading to version 3.21 or later of the plugin and carefully managing user permissions will mitigate this vulnerability. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for org.jenkins-ci.plugins:swarm →

Share this vulnerability

FAQ

The Jenkins Swarm Plugin is an extension that allows Jenkins agents to automatically discover and connect to a Jenkins master. It enables dynamic scaling of Jenkins by adding and removing agents as needed.

The vulnerability allows users with Agent/Create permission to add or remove labels of any agent, potentially leading to unauthorized access and misuse of agent resources.

The CVSS score of this vulnerability is 5.4, indicating a moderate severity level.

To fix this vulnerability, it is recommended to upgrade to version 3.21 or later of the Jenkins Swarm Plugin.

As a temporary workaround, users can restrict the permissions of users with Agent/Create permission and carefully assign permissions to minimize the risk.

Related vulnerabilities

Recent vulnerabilities recorded for org.jenkins-ci.plugins:swarm.

How To Fix

Minimum fixed version

3.21

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback