Description
GNU patch is vulnerable to a denial of service (DoS) due to improper validation of hunk (single block of changes in diff) line offsets in unified-diff input. A specially crafted patch can specify an extremely large line number, causing the application to enter an effectively infinite processing loop while attempting to locate the requested position. This results in excessive CPU consumption and prevents the process from completing. An attacker can trigger this behavior by supplying a malicious patch file, causing the utility to become unresponsive and require manual termination. This issue has been fixed in the commit faba04ef4f2b410257f76c1b9dc85e350929c4b9
Problem types
CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')
Product status
Any version
Credits
Michał Majchrowicz (AFINE Team)
Marcin Wyczechowski (AFINE Team)
References
cert.pl/en/posts/2026/07/CVE-2026-56288
cgit.git.savannah.gnu.org/cgit/patch.git/
cgit.git.savannah.gnu.org/...f2b410257f76c1b9dc85e350929c4b9