GD versions before 2.86 for Perl allow OS command...
Critical severity
Unreviewed
Published
Jun 14, 2026
to the GitHub Advisory Database
•
Updated Jun 21, 2026
Description
Published by the National Vulnerability Database
Jun 14, 2026
Published to the GitHub Advisory Database
Jun 14, 2026
Last updated
Jun 21, 2026
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.
References