Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Evidence dossier
CVE-2025-48384
Git allows arbitrary code execution through broken config quoting
gen-56ccdaf9Normalized restatement
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.
- State
- PUBLISHED
- Published
- Jul 8, 2025
- Updated
- Feb 26, 2026
- Evidence coverage
- 85%
2026-07-18 · v2026.06.15 · percentile 84.7%
Distinct CVSS assessments remain side by side; none are averaged.
Source comparison
Who said what
Git allows arbitrary code execution through broken config quoting
Git Link Following Vulnerability
Probability 0.027750000000; percentile 0.847450000000
Applicability
Cited product scope
[{"status": "affected", "version": "< 2.43.7"}, {"status": "affected", "version": ">= 2.44.0-rc0, < 2.44.4"}, {"status": "affected", "version": ">= 2.45.0-rc0, < 2.45.4"}, {"status": "affected", "version": ">= 2.46.0-rc0, < 2.46.4"}, {"status": "affected", "version": ">= 2.47.0-rc0, < 2.47.3"}, {"status": "affected", "version": ">= 2.48.0-rc0, < 2.48.2"}, {"status": "affected", "version": ">= 2.49.0-rc0, < 2.49.1"}, {"status": "affected", "version": ">= 2.50.0-rc0, < 2.50.1"}]unknowncpe:2.3:a:apple:xcode:*:*:*:*:*:*:*:*; end excluding 26.0supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; end excluding 2.43.7supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.44.0; end excluding 2.44.4supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.45.0; end excluding 2.45.4supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.46.0; end excluding 2.46.4supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.47.0; end excluding 2.47.3supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.48.0; end excluding 2.48.2supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.49.0; end excluding 2.49.1supportedcpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*; start including 2.50.0; end excluding 2.50.1supportedcpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*supportedAssessments
CVSS by origin
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:HCVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:HLimitations and unknowns
- KEV membership is authoritative for the catalog, not proof of exposure in any environment.
- EPSS is a dated model probability and not an individual-environment prediction.
- Affected or fixed status applies only to the exact cited product and version scope; unresolved scope remains unknown.
- NVD-carried upstream facts remain derivative and are not independent corroboration.
- Only NVD metrics validated under the generation-bound calculator are Public Priority eligible; direct CVE record metrics remain display-only.
- NVD CVSS source eligibility is closed: NVD-authored, exact record-source, or registered same-CVE container origin; unmapped sources remain display-only.
- Factor D is unknown in Public Core because no accepted canonical mapping-obligation ledger is present.
- Core replay supports the active and immediately prior generation; retrospective valid-at replay is deferred.