Skip to main content
Public proof of conceptFix available

CVE-2020-5260

A public proof of concept exists; no exploitation attested.

  • Published2020-04-14
  • Fixed in2.26.1 · 2.25.3 · 2.24.2 · 2.23.2 · 2.21.2 · 2.20.3
  • WeaknessCWE-20 · CWE-522

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

Affected versions of Git have a vulnerability whereby Git can be tricked into sending private credentials to a host controlled by an attacker. Git uses external "credential helper" programs to store and retrieve passwords or other credentials from secure storage provided by the operating system. Specially-crafted URLs that contain an encoded newline can inject unintended values into the credential helper protocol stream, causing the credential helper to retrieve the password for one server (e.g., good.example.com) for an HTTP request being made to another server (e.g., evil.example.com), resulting in credentials for the former being sent to the latter. There are no restrictions on the relationship between the two, meaning that an attacker can craft a URL that will present stored credentials for any host to a host of their choosing. The vulnerability can be triggered by feeding a malicious URL to git clone. However, the affected URLs look rather suspicious; the likely vector would be through systems which automatically clone URLs not visible to the user, such as Git submodules, or package systems built around Git. The problem has been patched in the versions published on April 14th, 2020, going back to v2.17.x. Anyone wishing to backport the change further can do so by applying commit 9a6bbee (the full release includes extra checks for git fsck, but that commit is sufficient to protect clients against the vulnerability). The patched versions are: 2.17.4, 2.18.3, 2.19.4, 2.20.3, 2.21.2, 2.22.3, 2.23.2, 2.24.2, 2.25.3, 2.26.1.

Timeline

dates in UTC
  1. 2020-04-1423:15CVE publishedNVD
  2. 2026-10-2319:23First public proof of conceptPoC-in-GitHub

Observed activity

isMalicious corpus · updated 2026-10-23 18:48 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2020-5260?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2020-5260?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD
Git-scm git
BranchAffectedFixed in
2.26≥ 2.26.0, < 2.26.12.26.1
2.25≥ 2.25.0, < 2.25.32.25.3
2.24≥ 2.24.0, < 2.24.22.24.2
2.23≥ 2.23.0, < 2.23.22.23.2
2.21≥ 2.21.0, < 2.21.22.21.2
2.20≥ 2.20.0, < 2.20.32.20.3
2.19≥ 2.19.0, < 2.19.42.19.4
2.18≥ 2.18.0, < 2.18.32.18.3
Canonical ubuntu linux
BranchAffectedFixed in
16.4= 16.04no fix published
18.4= 18.04no fix published
19.10= 19.10no fix published
Debian debian linux
BranchAffectedFixed in
8.0= 8.0no fix published
9.0= 9.0no fix published
10.0= 10.0no fix published

3 more products in the sources.

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. Update Git-scm git to 2.26.1 · 2.25.3 · 2.24.2 · 2.23.2 · 2.21.2 · 2.20.3 · 2.19.4 · 2.18.3

Advisories and patches

Detection

read 2026-10-23 19:23 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
3 repositories, unverifiedbrompwnie/cve-2020-5260Asgavar/CVE-2020-5260sv3nbeast/CVE-2020-5260
PoC-in-GitHub

Sources

  • CNACVSS 3.19.3read 2026-10-23
  • NVDCVSS 3.17.5read 2026-10-23
  • NVDCVSS 2.05read 2026-10-23
  • CNAweakness (CWE)CWE-20read 2026-10-23
  • NVDweakness (CWE)CWE-522read 2026-10-23
  • FIRST EPSSEPSS score10.0 %2026-10-22
  • PoC-in-GitHubproof of concept3read 2026-10-23

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Published
2020-04-14
Last Modified
2026-06-17
NVD status
Modified

Frequently asked questions

What is CVE-2020-5260?

Affected versions of Git have a vulnerability whereby Git can be tricked into sending private credentials to a host controlled by an attacker. Git uses external "credential helper" programs to store and retrieve passwords or other credentials from secure storage provided by the operating system. Specially-crafted URLs that contain an encoded newline can inject unintended values into the credential helper protocol stream, causing the credential helper to retrieve the password for one server (e.g., good.example.com) for an HTTP request being made to another server (e.g., evil.example.com), resulting in credentials for the former being sent to the latter. There are no restrictions on the relationship between the two, meaning that an attacker can craft a URL that will present stored credentials for any host to a host of their choosing. The vulnerability can be triggered by feeding a malicious URL to git clone. However, the affected URLs look rather suspicious; the likely vector would be through systems which automatically clone URLs not visible to the user, such as Git submodules, or package systems built around Git. The problem has been patched in the versions published on April 14th, 2020, going back to v2.17.x. Anyone wishing to backport the change further can do so by applying commit 9a6bbee (the full release includes extra checks for git fsck, but that commit is sufficient to protect clients against the vulnerability). The patched versions are: 2.17.4, 2.18.3, 2.19.4, 2.20.3, 2.21.2, 2.22.3, 2.23.2, 2.24.2, 2.25.3, 2.26.1.

Is CVE-2020-5260 actively exploited?

Active exploitation of CVE-2020-5260 has not been confirmed. Its EPSS score was 10.0% on 2026-10-22, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2020-5260?

CVE-2020-5260 has a CVSS v3 base score of 7.5 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.

Hear about the next vulnerability in your software

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month