CVE-2024-43044
Jenkins Remoting library arbitrary file read vulnerability
Jenkins 2.470 and earlier, LTS 2.452.3 and earlier allows agent processes to read arbitrary files from the Jenkins controller file system by using the ClassLoaderProxy#fetchJar method in the Remoting library.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
8.8
Jenkins 2.470 and earlier, LTS 2.452.3 and earlier allows agent processes to read arbitrary files from the Jenkins controller file system by using the ClassLoaderProxy#fetchJar method in the Remoting library.
- Record
CVE-2024-43044- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-754
- Updated
- 2026-11-02
CVE List
8.8
Jenkins 2.470 and earlier, LTS 2.452.3 and earlier allows agent processes to read arbitrary files from the Jenkins controller file system by using the ClassLoaderProxy#fetchJar method in the Remoting library.
- Record
CVE-2024-43044- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-754
- Updated
- 2026-11-02
EUVDEUVD-2024-2593
8.8
Jenkins 2.470 and earlier, LTS 2.452.3 and earlier allows agent processes to read arbitrary files from the Jenkins controller file system by using the ClassLoaderProxy#fetchJar method in the Remoting library.
- Record
EUVD-2024-2593- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-h856-ffvv-xvr4
7.1
Jenkins Remoting library arbitrary file read vulnerability
Jenkins uses the Remoting library (typically agent.jar or remoting.jar) for the communication between controller and agents. This library allows agents to load classes and classloader resources from the controller, so that Java objects sent from the controller (build steps, etc.) can be executed on agents.
In addition to individual class and resource files, Remoting also allows Jenkins plugins to transmit entire jar files to agents using the Channel#preloadJar API. As of publication of this advisory, this feature is used by the following plugins distributed by the Jenkins project: bouncycastle API, Groovy, Ivy, TeamConcert
In Remoting 3256.v88a_f6e922152 and earlier, except 3206.3208.v409508a_675ff and 3248.3250.v3277a_8e88c9b_, included in Jenkins 2.470 and earlier, LTS 2.452.3 and earlier, calls to Channel#preloadJar result in the retrieval of files from the controller by the agent using ClassLoaderProxy#fetchJar. Additionally, the implementation of ClassLoaderProxy#fetchJar invoked on the controller does not restrict paths that agents could request to read from the controller file system.
This allows agent processes, code running on agents, and attackers with Agent/Connect permission to read arbitrary files from the Jenkins controller file system.
The Remoting library in Jenkins 2.471, LTS 2.452.4, LTS 2.462.1 now sends jar file contents with Channel#preloadJar requests, the only use case of ClassLoaderProxy#fetchJar in agents, so that agents do not need to request jar file contents from controllers anymore.
To retain compatibility with older versions of Remoting in combination with the plugins listed above, ClassLoaderProxy#fetchJar is retained and otherwise unused, just deprecated. Its implementation in Jenkins 2.471, LTS 2.452.4, LTS 2.462.1 was changed so that it is now limited to retrieving jar files referenced in the core classloader or any plugin classloader.
- Record
GHSA-h856-ffvv-xvr4- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H - CVSS 3.1
- 9.0 Critical
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-22, CWE-754
- Updated
- 2026-11-02
OSV
8.8
Jenkins 2.470 and earlier, LTS 2.452.3 and earlier allows agent processes to read arbitrary files from the Jenkins controller file system by using the ClassLoaderProxy#fetchJar method in the Remoting library.
- Record
CVE-2024-43044- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-h856-ffvv-xvr4
7.1
Jenkins Remoting library arbitrary file read vulnerability
Jenkins uses the Remoting library (typically agent.jar or remoting.jar) for the communication between controller and agents. This library allows agents to load classes and classloader resources from the controller, so that Java objects sent from the controller (build steps, etc.) can be executed on agents.
In addition to individual class and resource files, Remoting also allows Jenkins plugins to transmit entire jar files to agents using the Channel#preloadJar API. As of publication of this advisory, this feature is used by the following plugins distributed by the Jenkins project: bouncycastle API, Groovy, Ivy, TeamConcert
In Remoting 3256.v88a_f6e922152 and earlier, except 3206.3208.v409508a_675ff and 3248.3250.v3277a_8e88c9b_, included in Jenkins 2.470 and earlier, LTS 2.452.3 and earlier, calls to Channel#preloadJar result in the retrieval of files from the controller by the agent using ClassLoaderProxy#fetchJar. Additionally, the implementation of ClassLoaderProxy#fetchJar invoked on the controller does not restrict paths that agents could request to read from the controller file system.
This allows agent processes, code running on agents, and attackers with Agent/Connect permission to read arbitrary files from the Jenkins controller file system.
The Remoting library in Jenkins 2.471, LTS 2.452.4, LTS 2.462.1 now sends jar file contents with Channel#preloadJar requests, the only use case of ClassLoaderProxy#fetchJar in agents, so that agents do not need to request jar file contents from controllers anymore.
To retain compatibility with older versions of Remoting in combination with the plugins listed above, ClassLoaderProxy#fetchJar is retained and otherwise unused, just deprecated. Its implementation in Jenkins 2.471, LTS 2.452.4, LTS 2.462.1 was changed so that it is now limited to retrieving jar files referenced in the core classloader or any plugin classloader.
- Record
GHSA-h856-ffvv-xvr4- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H - CVSS 3.1
- 9.0 Critical
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H - Weakness
- CWE-22, CWE-754
- Updated
- 2026-11-02
Show 5 moreShow less
OSVRHSA-2024:5405
8.8
Red Hat Security Advisory: Red Hat Product OCP Tools 4.15 OpenShift Jenkins security update
- Record
RHSA-2024:5405- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2024:5406
8.8
Red Hat Security Advisory: Red Hat Product OCP Tools 4.13 OpenShift Jenkins security update
- Record
RHSA-2024:5406- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2024:5410
8.8
Red Hat Security Advisory: Red Hat Product OCP Tools 4.12 OpenShift Jenkins security update
- Record
RHSA-2024:5410- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2024:5411
8.8
Red Hat Security Advisory: Red Hat Product OCP Tools 4.14 OpenShift Jenkins security update
- Record
RHSA-2024:5411- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVBIT-jenkins-2024-43044 No score
Jenkins LTS 2.452.3 and earlier allows agent processes to read arbitrary files from the Jenkins controller file system by using the ClassLoaderProxy#fetchJar method in the Remoting library.
- Record
BIT-jenkins-2024-43044- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.jenkins-ci.main:remotingMaven |
before 3206.3208 | 3206.3208 |
org.jenkins-ci.main:remotingMaven |
3248 up to 3248.3250 | 3248.3250 |
org.jenkins-ci.main:remotingMaven |
3256 up to 3256.3258 | 3256.3258 |
org.jenkins-ci.main:jenkins-coreMaven |
before 2.452.4 | 2.452.4 |
org.jenkins-ci.main:jenkins-coreMaven |
2.460 up to 2.462.1 | 2.462.1 |
org.jenkins-ci.main:jenkins-coreMaven |
2.470 up to 2.471 | 2.471 |
jenkinsBitnami |
before 2.462.1, 2.463.0 up to 2.479.1 | 2.462.12.479.1 |
org.jenkins-ci.main:remotingMaven |
before 3206.3208, 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.4212.02.12.102.112.122.132.142.152.162.172.182.192.22.202.212.222.232.23.JENKINS-8856-diag2.242.252.262.27 |
3206.3208 |
org.jenkins-ci.main:remotingMaven |
3248 up to 3248.3250, plus listed versions 3248.v65ecb_254c298 |
3248.3250 |
org.jenkins-ci.main:remotingMaven |
3256 up to 3256.3258, plus listed versions 3256.v88a_f6e922152 |
3256.3258 |
Show 10 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.jenkins-ci.main:jenkins-coreMaven |
before 2.452.4, 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.452.4 |
org.jenkins-ci.main:jenkins-coreMaven |
2.460 up to 2.462.1, plus listed versions 2.4612.462 |
2.462.1 |
jenkinsRed Hat:ocp_tools:4.15::el8 |
before 0:2.462.1.1723440104-3.el8 | 0:2.462.1.1723440104-3.el8 |
jenkins-2-pluginsRed Hat:ocp_tools:4.15::el8 |
before 0:4.15.1723440333-1.el8 | 0:4.15.1723440333-1.el8 |
jenkinsRed Hat:ocp_tools:4.13::el8 |
before 0:2.462.1.1723445923-3.el8 | 0:2.462.1.1723445923-3.el8 |
jenkins-2-pluginsRed Hat:ocp_tools:4.13::el8 |
before 0:4.13.1723446018-1.el8 | 0:4.13.1723446018-1.el8 |
jenkinsRed Hat:ocp_tools:4.12::el8 |
before 0:2.462.1.1723550696-3.el8 | 0:2.462.1.1723550696-3.el8 |
jenkins-2-pluginsRed Hat:ocp_tools:4.12::el8 |
before 0:4.12.1723550778-1.el8 | 0:4.12.1723550778-1.el8 |
jenkinsRed Hat:ocp_tools:4.14::el8 |
before 0:2.462.1.1723225151-3.el8 | 0:2.462.1.1723225151-3.el8 |
jenkins-2-pluginsRed Hat:ocp_tools:4.14::el8 |
before 0:4.14.1723225212-1.el8 | 0:4.14.1723225212-1.el8 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | DACC4/CVE-2024-43044-jenkins-creds | 2025-01-12 |
| PoC in GitHub | HwMex0/CVE-2024-43044 | 2024-08-08 |
| PoC in GitHub | convisolabs/CVE-2024-43044-jenkins | 2024-08-23 |
| PoC in GitHub | jenkinsci-cert/SECURITY-3430 | 2024-08-08 |
| PoC in GitHub | v9d0g/CVE-2024-43044-POC | 2024-08-13 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-43044 is a high vulnerability (CVSS 8.8) in Jenkins, published August 7, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 28.8%, the 98th percentile. Fixed in org.jenkins-ci.main:remoting 3206.3208.
References
jenkins.io/security/advisory/2024-08-07
nvd.nist.gov/vuln/detail/CVE-2024-43044
github.com/jenkinsci/jenkins/commit/3f54c41b40db9e4ae7afa4209bc1ea91bb9175c0
github.com/jenkinsci/jenkins/commit/5d26b53ad3a5cd8c4a060eef4f56d75e65ca17a5
github.com/jenkinsci/jenkins/commit/cec49ce5d58048f66ac3fa88409a0d38dec09bf0
github.com/jenkinsci/remoting/commit/3277a8e88c9b807b9a989bd7e9176d2ec9834e47
Show 65 moreShow less
github.com/jenkinsci/remoting/commit/409508a675ffc4ed9681e30bb46c8d9cb375b78c
github.com/jenkinsci/remoting/commit/858f3c9af69d4d216b26551ea51dde6e67479bb3
github.com/advisories/GHSA-h856-ffvv-xvr4
github.com/jenkinsci/remoting
access.redhat.com/errata/RHSA-2024:5405
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2303466
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_5405.json
access.redhat.com/security/cve/CVE-2024-43044
cve.org/CVERecord?id=CVE-2024-43044
access.redhat.com/errata/RHSA-2024:5406
bugzilla.redhat.com/show_bug.cgi?id=2136374
bugzilla.redhat.com/show_bug.cgi?id=2136386
bugzilla.redhat.com/show_bug.cgi?id=2136388
bugzilla.redhat.com/show_bug.cgi?id=2145194
issues.redhat.com/browse/JKNS-271
issues.redhat.com/browse/JKNS-289
issues.redhat.com/browse/JKNS-397
issues.redhat.com/browse/JKNS-398
issues.redhat.com/browse/OCPBUGS-10934
issues.redhat.com/browse/OCPBUGS-11158
issues.redhat.com/browse/OCPBUGS-11329
issues.redhat.com/browse/OCPBUGS-11446
issues.redhat.com/browse/OCPBUGS-11452
issues.redhat.com/browse/OCPBUGS-1357
issues.redhat.com/browse/OCPBUGS-13651
issues.redhat.com/browse/OCPBUGS-13870
issues.redhat.com/browse/OCPBUGS-14112
issues.redhat.com/browse/OCPBUGS-14311
issues.redhat.com/browse/OCPBUGS-14634
issues.redhat.com/browse/OCPBUGS-15647
issues.redhat.com/browse/OCPBUGS-15986
issues.redhat.com/browse/OCPBUGS-1709
issues.redhat.com/browse/OCPBUGS-1942
issues.redhat.com/browse/OCPBUGS-2099
issues.redhat.com/browse/OCPBUGS-2184
issues.redhat.com/browse/OCPBUGS-2318
issues.redhat.com/browse/OCPBUGS-27389
issues.redhat.com/browse/OCPBUGS-28962
issues.redhat.com/browse/OCPBUGS-655
issues.redhat.com/browse/OCPBUGS-6579
issues.redhat.com/browse/OCPBUGS-6870
issues.redhat.com/browse/OCPBUGS-710
issues.redhat.com/browse/OCPBUGS-8377
issues.redhat.com/browse/OCPBUGS-8442
issues.redhat.com/browse/OCPTOOLS-245
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_5406.json
access.redhat.com/errata/RHSA-2024:5410
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_5410.json
access.redhat.com/errata/RHSA-2024:5411
issues.redhat.com/browse/JKNS-337
issues.redhat.com/browse/JKNS-344
issues.redhat.com/browse/JKNS-345
issues.redhat.com/browse/OCPBUGS-11253
issues.redhat.com/browse/OCPBUGS-11254
issues.redhat.com/browse/OCPBUGS-13869
issues.redhat.com/browse/OCPBUGS-14111
issues.redhat.com/browse/OCPBUGS-14609
issues.redhat.com/browse/OCPBUGS-15646
issues.redhat.com/browse/OCPBUGS-15902
issues.redhat.com/browse/OCPBUGS-23438
issues.redhat.com/browse/OCPBUGS-27388
issues.redhat.com/browse/OCPBUGS-28961
issues.redhat.com/browse/OCPTOOLS-244
security.access.redhat.com/data/csaf/v2/advisories/2024/rhsa-2024_5411.json
Left out here: 998 versions. The JSON record has them.