GitHub Advisoryadvisory · Maven

GHSA-qp4f-2w67-c8hw Inbound TCP Agent Protocol/3 authentication bypass in Jenkins

HIGH Published 2022-05-24 Modified 2022-12-16 Official page ↗
Aliases
CVE-2020-2099
Ecosystem
Maven
Packages
org.jenkins-ci.main:jenkins-core
Severity
High
CVSS vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
Weaknesses
CWE-323, CWE-330
Reviewed
2022-12-16

Affected packages

• Maven org.jenkins-ci.main:jenkins-core: < 2.204.2 → fixed in 2.204.2 • Maven org.jenkins-ci.main:jenkins-core: >= 2.205, < 2.214 → fixed in 2.214

Description

Jenkins 2.213 and earlier, LTS 2.204.1 and earlier includes support for the Inbound TCP Agent Protocol/3 for communication between controller and agents. While this protocol has been deprecated in 2018 and was recently removed from Jenkins in 2.214, it could still easily be enabled in Jenkins LTS 2.204.1, 2.213, and older. This protocol incorrectly reuses encryption parameters which allow an unauthenticated remote attacker to determine the connection secret. This secret can then be used to connect attacker-controlled Jenkins agents to the Jenkins controller. Jenkins 2.204.2 no longer allows for the use of Inbound TCP Agent Protocol/3 by default. The system property `jenkins.slaves.JnlpSlaveAgentProtocol3.ALLOW_UNSAFE` can be set to `true` to allow enabling the Inbound TCP Agent Protocol/3 in Jenkins 2.204.2, but doing so is strongly discouraged. Inbound TCP Agent Protocol/3 was removed completely from Jenkins 2.214 and will not be part of Jenkins LTS after the end of the 2.204.x line.

Related

Alias · CVE (1)

  • CVE-2020-2099 Jenkins 2.213 and earlier, LTS 2.204.1 and earlier improperly reuses encryption key parameters in the Inbound TCP Agent Protocol/3,… vulnerability

Weakness · CWE (2)

  • CWE-323 Reusing a Nonce, Key Pair in Encryption weakness
  • CWE-330 Use of Insufficiently Random Values weakness

References