Skip to content

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

Moderate
ttaylorr published GHSA-2hvf-7c8p-28fx Apr 25, 2023

Package

git (-)

Affected versions

<=2.30.8, .., v2.40.0

Patched versions

v2.30.9, v2.31.8, v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7, v2.38.5, v2.39.3 and v2.40.1

Description

Impact

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

Patches

A fix has been prepared and will appear in v2.30.9, v2.31.8, v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7, v2.38.5, v2.39.3 and v2.40.1.

Workarounds

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.

Severity

Moderate

CVE ID

CVE-2023-25652

Weaknesses

No CWEs

Credits