CVE-2023-25652CWE-22

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

High · published April 25, 2023

Patch now

High probability of exploitation

CVSS calls it high at 7.5. It sits in the 99.0th percentile for exploit probability.

CVSS v3.1
7.5
EPSS
52%
Percentile
99.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.51883 · 99.0th percentile
Weakness
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Published
2023-04-25T19:17Z
EPSS history
Timeline
  • 25 APR 19:17Z
    "git apply --reject" partially-controlled arbitrary file write
    cvelistv5