← Back to browse · API

CVE-2023-25652

Severity
HIGH
CVSS
7.5
EPSS
0.51883
Risk score
48.16
CISA KEV
No
PoC
No
Published
2023-04-25
Modified
2025-11-04
First seen
2026-08-07
Aliases
EUVD-2023-29591
Products
git-for-windows:Git 2.31.0, < 2.31.8, git-for-windows:Git 2.32.0, < 2.32.7, git-for-windows:Git 2.33.0, < 2.33.8, git-for-windows:Git 2.34.0, < 2.34.8, git-for-windows:Git 2.35.0, < 2.35.8, git-for-windows:Git 2.36.0, < 2.36.6, git-for-windows:Git 2.37.0, < 2.37.7, git-for-windows:Git 2.38.0, < 2.38.5, git-for-windows:Git 2.39.0, < 2.39.3, git-for-windows:Git 2.40.0, < 2.40.1, git-for-windows:Git < 2.30.9
Sources
euvd EUVD-2023-29591

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.

References