CVE-2026-11526
CriticalCVSS 9.8Exploitation Probability (EPSS)
Elevated risk69th percentile - higher than 69% of all known CVEs
Summary
The GD library for Perl before version 2.86 has an OS command injection and file overwrite vulnerability in the _make_filehandle function. It opens a filename argument with Perl's 2-arg open(), which interprets prefixes like '| cmd' as a pipe, allowing arbitrary command execution or file overwrite.
Risk Assessment
An attacker can pass untrusted filenames to GD::Image constructors, leading to arbitrary command execution or file destruction with process privileges.
Recommendation
Upgrade the GD library to version 2.86 or later, and avoid passing untrusted data as filenames to GD::Image functions.
Original NVD description (English source)
GD versions before 2.86 for Perl allow OS command injection and file overwrite via a 2-arg open() of filename arguments in _make_filehandle. GD::Image::_make_filehandle opens a filename argument with Perl's 2-arg open(), so a filename that begins or ends with a pipe ("| cmd", "cmd |") or begins with a redirect ("> path", ">> path") is run as a command or redirect rather than opened as a file. _make_filehandle is the single open path behind every filename-accepting constructor (new, newFromPng, newFromJpeg, and the rest); the in-memory *Data variants do not open a path and are unaffected. Any caller that forwards untrusted input to one of these constructors as a pathname can run an arbitrary command or truncate a file under the process UID.

