CVE-2023-25652

"git apply --reject" partially-controlled arbitrary file write

State
Published
Severity
7.5 High
Published
Apr 25, 2023
Updated
Nov 4, 2025
Reserved
Feb 9, 2023

Read the record on cve.org

Description

Git is a revision control system. Prior to versions 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1, by feeding specially crafted input to `git apply --reject`, a path outside the working tree can be overwritten with partially controlled contents (corresponding to the rejected hunk(s) from the given patch). A fix is available in versions 2.30.9, 2.31.8, 2.32.7, 2.33.8, 2.34.8, 2.35.8, 2.36.6, 2.37.7, 2.38.5, 2.39.3, and 2.40.1. As a workaround, avoid using `git apply` with `--reject` when applying patches from an untrusted source. Use `git apply --stat` to inspect a patch before applying; avoid applying one that create a conflict where a link corresponding to the `*.rej` file exists.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NGitHub_M

Weaknesses

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Affected Products

ProductVersions
gitgit
  • < 2.30.9Affected
  • >= 2.31.0, < 2.31.8Affected
  • >= 2.32.0, < 2.32.7Affected
  • >= 2.33.0, < 2.33.8Affected
  • >= 2.34.0, < 2.34.8Affected
  • >= 2.35.0, < 2.35.8Affected
  • >= 2.36.0, < 2.36.6Affected
  • >= 2.37.0, < 2.37.7Affected
  • >= 2.38.0, < 2.38.5Affected
  • >= 2.39.0, < 2.39.3Affected
  • >= 2.40.0, < 2.40.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.