CVE-2025-48384

Git allows arbitrary code execution through broken config quoting

State
Published
Severity
8.1 High
Published
Jul 8, 2025
Updated
Feb 26, 2026
Reserved
May 19, 2025

Read the record on cve.org

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

Scores

CVSSScoreVectorSource
3.18.1 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:HGitHub_M

Weaknesses

  • CWE-436 Interpretation Conflict
  • CWE-59 Improper Link Resolution Before File Access ('Link Following')

Affected Products

ProductVersions
gitgit
  • < 2.43.7Affected
  • >= 2.44.0-rc0, < 2.44.4Affected
  • >= 2.45.0-rc0, < 2.45.4Affected
  • >= 2.46.0-rc0, < 2.46.4Affected
  • >= 2.47.0-rc0, < 2.47.3Affected
  • >= 2.48.0-rc0, < 2.48.2Affected
  • >= 2.49.0-rc0, < 2.49.1Affected
  • >= 2.50.0-rc0, < 2.50.1Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.