CVE-2025-48384

Summary

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.

Affected Software

VendorProductVersion RangeStatus
gitgit< 2.43.7affected
gitgit>= 2.44.0-rc0, < 2.44.4affected
gitgit>= 2.45.0-rc0, < 2.45.4affected
gitgit>= 2.46.0-rc0, < 2.46.4affected
gitgit>= 2.47.0-rc0, < 2.47.3affected
gitgit>= 2.48.0-rc0, < 2.48.2affected
gitgit>= 2.49.0-rc0, < 2.49.1affected
gitgit>= 2.50.0-rc0, < 2.50.1affected

Weaknesses

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

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: active
    • Automatable: no
    • Technical Impact: total

Additional References

CVE Program Container

Additional References

References