CVE-2026-22865

Source
https://cve.org/CVERecord?id=CVE-2026-22865
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22865.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-22865
Aliases
Downstream
Related
Published
2026-01-16T22:46:19.741Z
Modified
2026-07-15T01:49:05.637541197Z
Severity
  • 8.6 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:H/SA:N CVSS Calculator
Summary
Gradle's failure to disable repositories failing to answer can expose builds to malicious artifacts
Details

Gradle is a build automation tool, and its native-platform tool provides Java bindings for native APIs. When resolving dependencies in versions before 9.3.0, some exceptions were not treated as fatal errors and would not cause a repository to be disabled. If a build encountered one of these exceptions, Gradle would continue to the next repository in the list and potentially resolve dependencies from a different repository. An exception like NoHttpResponseException can indicate transient errors. If the errors persist after a maximum number of retries, Gradle would continue to the next repository. This behavior could allow an attacker to disrupt the service of a repository and leverage another repository to serve malicious artifacts. This attack requires the attacker to have control over a repository after the disrupted repository. Gradle has introduced a change in behavior in Gradle 9.3.0 to stop searching other repositories when encountering these errors.

Database specific
{
    "cwe_ids": [
        "CWE-494",
        "CWE-829"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22865.json",
    "cna_assigner": "GitHub_M"
}
References

Affected packages

Git / github.com/gradle/gradle

Affected ranges

Type
GIT
Repo
https://github.com/gradle/gradle
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Introduced
Fixed
Database specific
{
    "cpe": "cpe:2.3:a:gradle:gradle:*:*:*:*:*:*:*:*",
    "source": "CPE_RANGE",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "8.14.4"
        },
        {
            "introduced": "9.0.0"
        },
        {
            "fixed": "9.3.0"
        }
    ]
}

Affected versions

REL-0.*
REL-0.8
REL-0.9-preview-1
REL-0.9-preview-2
REL-0.9-preview-3
REL-0.9-rc-1
REL_0.*
REL_0.9
REL_0.9-rc-2
REL_0.9-rc-3
REL_0.9.1
REL_0.9.2
REL_1.*
REL_1.0-milestone-1
REL_1.0-milestone-2
REL_1.0-milestone-3
REL_1.11
REL_1.11-rc-1
REL_1.12
REL_1.12-rc-1
REL_1.12-rc-2
REL_3.*
REL_3.0-milestone-1
v0.*
v0.8
v0.8.0
v0.9
v0.9-RC1
v0.9-RC2
v0.9-RC3
v0.9.0
v0.9.0-RC1
v0.9.0-RC2
v0.9.0-RC3
v0.9.1
v0.9.2
v1.*
v1.0-M1
v1.0-M2
v1.0-M3
v1.0.0-M1
v1.0.0-M2
v1.0.0-M3
v1.11
v1.11-RC1
v1.11.0
v1.11.0-RC1
v1.12
v1.12-RC1
v1.12-RC2
v1.12.0
v1.12.0-RC1
v1.12.0-RC2
v3.*
v3.0.0-M1
v6.*
v6.1.0-M1
v6.1.0-M2
v6.5.0-M1
v6.5.0-M2
v6.6.0-M1
v6.6.0-M2
v6.8.0-M1
v6.8.0-M2
v6.8.0-M3
v7.*
v7.0.0-M1
v7.0.0-M2
v7.0.0-M3
v8.*
v8.0.0-M2
v8.10.0
v8.10.0-RC1
v8.10.1
v8.10.2
v8.10.2-M1
v8.11.0
v8.11.0-M1
v8.11.0-RC1
v8.11.0-RC2
v8.11.0-RC3
v8.11.1
v8.12.0
v8.12.0-RC1
v8.12.0-RC2
v8.12.1
v8.12.1-M1
v8.13.0
v8.13.0-RC1
v8.13.0-RC2
v8.14.0
v8.14.0-M5
v8.14.0-M6
v8.14.0-M7
v8.14.0-M8
v8.14.0-RC1
v8.14.0-RC2
v8.14.0-RC3
v8.14.1
v8.14.2
v8.14.3
v8.3.0
v8.3.0-RC1
v8.3.0-RC2
v8.3.0-RC3
v8.3.0-RC4
v8.4.0
v8.4.0-RC1
v8.4.0-RC2
v8.4.0-RC3
v8.5.0
v8.5.0-RC1
v8.5.0-RC2
v8.5.0-RC3
v8.5.0-RC4
v8.6.0
v8.6.0-RC1
v8.6.0-RC2
v8.6.0-RC3
v8.6.0-RC4
v8.7.0
v8.7.0-RC1
v8.7.0-RC2
v8.7.0-RC3
v8.7.0-RC4
v8.8.0
v8.8.0-RC1
v8.8.0-RC2
v8.9.0
v8.9.0-RC1
v8.9.0-RC2
v9.*
v9.0.0
v9.1.0
v9.1.0-RC1
v9.1.0-RC2
v9.1.0-RC3
v9.1.0-RC4
v9.2.0
v9.2.0-RC1
v9.2.0-RC2
v9.2.0-RC3
v9.2.1
v9.3.0-M2
v9.3.0-RC1
v9.3.0-RC2
v9.3.0-RC3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22865.json"