CVE-2020-2101
Non-constant time comparison of inbound TCP agent connection secret
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier did not use a constant-time comparison function for validating connection secrets, which could potentially allow an attacker to use a timing attack to obtain this secret.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.3
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier did not use a constant-time comparison function for validating connection secrets, which could potentially allow an attacker to use a timing attack to obtain this secret.
- Record
CVE-2020-2101- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 3.5 Low
AV:N/AC:M/Au:S/C:P/I:N/A:N - Weakness
- CWE-203
- Updated
- 2026-11-02
CVE List No score
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier did not use a constant-time comparison function for validating connection secrets, which could potentially allow an attacker to use a timing attack to obtain this secret.
- Record
CVE-2020-2101- Updated
- 2026-11-02
EUVDEUVD-2022-5526 No score
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier did not use a constant-time comparison function for validating connection secrets, which could potentially allow an attacker to use a timing attack to obtain this secret.
- Record
EUVD-2022-5526- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-w7jr-wqw6-54xc
5.3
Non-constant time comparison of inbound TCP agent connection secret
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier does not use a constant-time comparison validating the connection secret when an inbound TCP agent connection is initiated. This could potentially allow attackers to use statistical methods to obtain the connection secret.
Jenkins 2.219, LTS 2.204.2 now uses a constant-time comparison function for verifying connection secrets.
- Record
GHSA-w7jr-wqw6-54xc- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-203, CWE-208
- Updated
- 2026-11-02
OSV
5.3
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier did not use a constant-time comparison function for validating connection secrets, which could potentially allow an attacker to use a timing attack to obtain this secret.
- Record
CVE-2020-2101- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-w7jr-wqw6-54xc
5.3
Non-constant time comparison of inbound TCP agent connection secret
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier does not use a constant-time comparison validating the connection secret when an inbound TCP agent connection is initiated. This could potentially allow attackers to use statistical methods to obtain the connection secret.
Jenkins 2.219, LTS 2.204.2 now uses a constant-time comparison function for verifying connection secrets.
- Record
GHSA-w7jr-wqw6-54xc- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-203, CWE-208
- Updated
- 2026-11-02
OSVRHBA-2020:0402
8.6
Red Hat Bug Fix Advisory: OpenShift Container Platform 3.11 bug fix update
- Record
RHBA-2020:0402- CVSS 3.1
- 8.6 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L - Updated
- 2026-11-02
OSVRHBA-2020:0675
8.6
Red Hat Bug Fix Advisory: OpenShift Container Platform 4.3.5 packages update
- Record
RHBA-2020:0675- CVSS 3.1
- 8.6 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L - Updated
- 2026-11-02
OSVBIT-jenkins-2020-2101 No score
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier did not use a constant-time comparison function for validating connection secrets, which could potentially allow an attacker to use a timing attack to obtain this secret.
- Record
BIT-jenkins-2020-2101- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.jenkins-ci.main:jenkins-coreMaven |
through 2.204.1 | 2.204.2 |
org.jenkins-ci.main:jenkins-coreMaven |
2.205 to 2.218 | 2.219 |
jenkinsBitnami |
before 2.218.1 | 2.218.1 |
org.jenkins-ci.main:jenkins-coreMaven |
before 2.204.2, plus listed versions 1.3961.3971.3981.3991.400 Show 45 moreShow less1.4011.4031.4041.4051.4061.4071.4081.4091.409.11.409.21.409.31.4101.4111.4121.4131.4141.4151.4161.4171.4181.4191.4201.4211.4221.4231.4241.424.11.424.21.424.31.424.41.424.51.424.61.4251.4261.4271.4281.4291.4301.4311.4321.4331.4341.4351.4361.437 |
2.204.2 |
org.jenkins-ci.main:jenkins-coreMaven |
2.205 up to 2.219, plus listed versions 2.2062.2072.2082.2092.210 Show 8 moreShow less2.2112.2122.2132.2142.2152.2162.2172.218 |
2.219 |
atomic-enterprise-service-catalogRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 1:3.11.170-1.git.1.91db82e.el7 | 1:3.11.170-1.git.1.91db82e.el7 |
atomic-enterprise-service-catalog-svcatRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 1:3.11.170-1.git.1.91db82e.el7 | 1:3.11.170-1.git.1.91db82e.el7 |
atomic-openshiftRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-clientsRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-clients-redistributableRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
Show 41 moreShow less
| Package | Affected | Fixed |
|---|---|---|
atomic-openshift-cluster-autoscalerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.0a0df6a.el7 | 0:3.11.170-1.git.1.0a0df6a.el7 |
atomic-openshift-deschedulerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.9ad83f2.el7 | 0:3.11.170-1.git.1.9ad83f2.el7 |
atomic-openshift-docker-excluderRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-dockerregistryRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.55fab05.el7 | 0:3.11.170-1.git.1.55fab05.el7 |
atomic-openshift-excluderRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-hyperkubeRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-hypershiftRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-masterRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-metrics-serverRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.357f177.el7 | 0:3.11.170-1.git.1.357f177.el7 |
atomic-openshift-nodeRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-node-problem-detectorRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.b1f90a6.el7 | 0:3.11.170-1.git.1.b1f90a6.el7 |
atomic-openshift-podRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-sdn-ovsRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-service-idlerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.8328979.el7 | 0:3.11.170-1.git.1.8328979.el7 |
atomic-openshift-template-service-brokerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-testsRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.0.00cac56.el7 | 0:3.11.170-1.git.0.00cac56.el7 |
atomic-openshift-web-consoleRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.3d64e8b.el7 | 0:3.11.170-1.git.1.3d64e8b.el7 |
cri-oRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:1.11.16-0.5.dev.rhaos3.11.git3f89eba.el7 | 0:1.11.16-0.5.dev.rhaos3.11.git3f89eba.el7 |
cri-o-debuginfoRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:1.11.16-0.5.dev.rhaos3.11.git3f89eba.el7 | 0:1.11.16-0.5.dev.rhaos3.11.git3f89eba.el7 |
golang-github-openshift-oauth-proxyRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.b49be83.el7 | 0:3.11.170-1.git.1.b49be83.el7 |
golang-github-prometheus-alertmanagerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.61d7960.el7 | 0:3.11.170-1.git.1.61d7960.el7 |
golang-github-prometheus-node_exporterRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.51473b7.el7 | 0:3.11.170-1.git.1.51473b7.el7 |
golang-github-prometheus-prometheusRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.227bc98.el7 | 0:3.11.170-1.git.1.227bc98.el7 |
jenkinsRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:2.204.2.1580891656-1.el7 | 0:2.204.2.1580891656-1.el7 |
jenkins-2-pluginsRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.1579107288-1.el7 | 0:3.11.1579107288-1.el7 |
openshift-ansibleRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-2.git.5.8802564.el7 | 0:3.11.170-2.git.5.8802564.el7 |
openshift-ansible-docsRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-2.git.5.8802564.el7 | 0:3.11.170-2.git.5.8802564.el7 |
openshift-ansible-playbooksRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-2.git.5.8802564.el7 | 0:3.11.170-2.git.5.8802564.el7 |
openshift-ansible-rolesRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-2.git.5.8802564.el7 | 0:3.11.170-2.git.5.8802564.el7 |
openshift-ansible-testRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-2.git.5.8802564.el7 | 0:3.11.170-2.git.5.8802564.el7 |
openshift-enterprise-autohealRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.dfe6c52.el7 | 0:3.11.170-1.git.1.dfe6c52.el7 |
openshift-enterprise-cluster-capacityRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.661684b.el7 | 0:3.11.170-1.git.1.661684b.el7 |
openshift-kuryrRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.7265da1.el7 | 0:3.11.170-1.git.1.7265da1.el7 |
openshift-kuryr-cniRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.7265da1.el7 | 0:3.11.170-1.git.1.7265da1.el7 |
openshift-kuryr-commonRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.7265da1.el7 | 0:3.11.170-1.git.1.7265da1.el7 |
openshift-kuryr-controllerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.7265da1.el7 | 0:3.11.170-1.git.1.7265da1.el7 |
prometheusRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.227bc98.el7 | 0:3.11.170-1.git.1.227bc98.el7 |
prometheus-alertmanagerRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.61d7960.el7 | 0:3.11.170-1.git.1.61d7960.el7 |
prometheus-node-exporterRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.51473b7.el7 | 0:3.11.170-1.git.1.51473b7.el7 |
python2-kuryr-kubernetesRed Hat:openshift:3.11::el7 From an advisory covering 8 CVEs |
before 0:3.11.170-1.git.1.7265da1.el7 | 0:3.11.170-1.git.1.7265da1.el7 |
jenkinsRed Hat:openshift:4.3::el7 From an advisory covering 7 CVEs |
before 0:2.204.2.1583446818-1.el7 | 0:2.204.2.1583446818-1.el7 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-2101 is a medium vulnerability (CVSS 5.3) in Jenkins, published January 29, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.37%, the 71st percentile. Fixed in org.jenkins-ci.main:jenkins-core 2.204.2.
References
jenkins.io/security/advisory/2020-01-29
openwall.com/lists/oss-security/2020/01/29/1
access.redhat.com/errata/RHSA-2020:0681
access.redhat.com/errata/RHSA-2020:0683
access.redhat.com/errata/RHBA-2020:0402
access.redhat.com/errata/RHBA-2020:0675
Show 53 moreShow less
nvd.nist.gov/vuln/detail/CVE-2020-2101
github.com/jenkinsci/jenkins/commit/0ba36508187ff771bba87feaf03057496775064c
github.com/advisories/GHSA-w7jr-wqw6-54xc
github.com/jenkinsci/jenkins
bugzilla.redhat.com/show_bug.cgi?id=1670380
bugzilla.redhat.com/show_bug.cgi?id=1670587
bugzilla.redhat.com/show_bug.cgi?id=1728856
bugzilla.redhat.com/show_bug.cgi?id=1744900
bugzilla.redhat.com/show_bug.cgi?id=1749765
bugzilla.redhat.com/show_bug.cgi?id=1757314
bugzilla.redhat.com/show_bug.cgi?id=1757938
bugzilla.redhat.com/show_bug.cgi?id=1782695
bugzilla.redhat.com/show_bug.cgi?id=1783764
bugzilla.redhat.com/show_bug.cgi?id=1791667
bugzilla.redhat.com/show_bug.cgi?id=1793628
bugzilla.redhat.com/show_bug.cgi?id=1795930
bugzilla.redhat.com/show_bug.cgi?id=1798365
security.access.redhat.com/data/csaf/v2/advisories/2020/rhba-2020_0402.json
access.redhat.com/security/cve/CVE-2019-11358
bugzilla.redhat.com/show_bug.cgi?id=1701972
cve.org/CVERecord?id=CVE-2019-11358
nvd.nist.gov/vuln/detail/CVE-2019-11358
blog.jquery.com/2019/04/10/jquery-3-4-0-released
drupal.org/sa-core-2019-006
access.redhat.com/security/cve/CVE-2020-2099
bugzilla.redhat.com/show_bug.cgi?id=1797080
cve.org/CVERecord?id=CVE-2020-2099
nvd.nist.gov/vuln/detail/CVE-2020-2099
access.redhat.com/security/cve/CVE-2020-2100
bugzilla.redhat.com/show_bug.cgi?id=1797087
cve.org/CVERecord?id=CVE-2020-2100
nvd.nist.gov/vuln/detail/CVE-2020-2100
access.redhat.com/security/cve/CVE-2020-2101
bugzilla.redhat.com/show_bug.cgi?id=1797084
cve.org/CVERecord?id=CVE-2020-2101
access.redhat.com/security/cve/CVE-2020-2102
bugzilla.redhat.com/show_bug.cgi?id=1797071
cve.org/CVERecord?id=CVE-2020-2102
nvd.nist.gov/vuln/detail/CVE-2020-2102
access.redhat.com/security/cve/CVE-2020-2103
bugzilla.redhat.com/show_bug.cgi?id=1797062
cve.org/CVERecord?id=CVE-2020-2103
nvd.nist.gov/vuln/detail/CVE-2020-2103
access.redhat.com/security/cve/CVE-2020-2104
bugzilla.redhat.com/show_bug.cgi?id=1797065
cve.org/CVERecord?id=CVE-2020-2104
nvd.nist.gov/vuln/detail/CVE-2020-2104
access.redhat.com/security/cve/CVE-2020-2105
bugzilla.redhat.com/show_bug.cgi?id=1797068
cve.org/CVERecord?id=CVE-2020-2105
nvd.nist.gov/vuln/detail/CVE-2020-2105
bugzilla.redhat.com/show_bug.cgi?id=1804814
security.access.redhat.com/data/csaf/v2/advisories/2020/rhba-2020_0675.json
Left out here: 530 versions. The JSON record has them.