Git · Git · Git Link Following Vulnerability
Verdict
Patch on your normal cycle · actively exploited, not reachable unauthenticated from the internet, and in the top 10% of CVEs by near-term exploitation probability
Added to CISA KEV 2025-08-25 · exploited in the wild for 398 days
CVSS 8.0 HIGH. The score is a summary; these three components are the part that decides whether something scanning the internet can use it.
| Attack vector | networkreachable over the network, with no local access needed |
|---|---|
| Privileges required | lowneeds some credentials, so a fully anonymous attacker cannot reach it directly |
| User interaction | requiredneeds a user to click, load or submit something first |
| Base vector | CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H |
| Weakness | CWE-59 |
This describes the vulnerability. It says nothing about whether your systems run it.
EPSS puts the probability of exploitation in the next 30 days at 0.0411, which places it in the top 10% of all tracked CVEs. The percentile is the more useful half: 0.18 in absolute terms sounds low until you know most of the internet-facing software in the world scores under that.
| EPSS probability | 0.0411 |
|---|---|
| Percentile | 0.904 — top 10% |
| Added to KEV | 2025-08-25 |
|---|---|
| Days exploited | 398 |
| Federal remediation due | not set |
| Ransomware use | no known ransomware campaign use |
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout. This vulnerability is fixed in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.