CVE-2025-48385 Details
Description
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 cloning a repository Git knows to optionally fetch a bundle advertised by the remote server, which allows the server-side to offload parts of the clone to a CDN. The Git client does not perform sufficient validation of the advertised bundles, which allows the remote side to perform protocol injection. This protocol injection can cause the client to write the fetched bundle to a location controlled by the adversary. The fetched content is fully controlled by the server, which can in the worst case lead to arbitrary code execution. The use of bundle URIs is not enabled by default and can be controlled by the bundle.heuristic config option. Some cases of the vulnerability require that the adversary is in control of where a repository will be cloned to. This either requires social engineering or a recursive clone with submodules. These cases can thus be avoided by disabling recursive clones. 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.
A vulnerability in Git versions 2.50.0, 2.49.0, 2.48.0 through 2.48.1, 2.47.0 through 2.47.2, 2.46.0 through 2.46.3, 2.45.0 through 2.45.3, 2.44.0 through 2.44.3, and 2.43.6 and prior allows for protocol injection via the bundle-uri parameter. When cloning a repository, the Git client can fetch a bundle advertised by the remote server. However, the client does not adequately validate these bundles, enabling the server to inject protocols that could lead the client to write the fetched bundle to a location controlled by the adversary. This could result in arbitrary code execution, as the fetched content is fully controlled by the server. The vulnerability is not present by default and can be managed with the bundle.heuristic config option. Exploitation may require the adversary to control the repository's clone destination, potentially through social engineering or by using recursive clones with submodules, which can be avoided by disabling recursive cloning.
Users can update to Git versions 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1, or 2.50.1. Additionally, the bundle.heuristic config option can be used to disable the use of bundle URIs.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jul 8, 2025CISA-ADP
Assessed Jul 8, 2025References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| http://www.openwall.com/lists/oss-security/2025/07/08/4 | CVE | |
| https://github.com/git/git/security/advisories/GHSA-m98c-vgpc-9655 | [email protected] | AdvisoryRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-73 | External Control of File Name or Path | [email protected] |
| CWE-88 | Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Git | v2.50.0 (semver) v2.49.0 (semver) >= v2.48.0, <= v2.48.1 (semver) >= v2.47.0, <= v2.47.2 (semver) >= v2.46.0, <= v2.46.3 (semver) >= v2.45.0, <= v2.45.3 (semver) >= v2.44.0, <= v2.44.3 (semver) v2.43.6 and prior |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Nov 4, 2025 | CVE Modified | CVE |
| Jul 8, 2025 | New CVE Received | [email protected] |
Volerion