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.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alpine Linux | — | Upgrade perl-gd | Jun 18, 2026 | Jun 14, 2026 |
| Amazon Linux Ami 2 | — | Upgrade perl-GDUpgrade perl-GD-debuginfo | Jun 23, 2026 | Jun 23, 2026 |
| Amazon_linux_2023 | — | Upgrade perl-GD-debugsourceUpgrade perl-GDUpgrade perl-GD-debuginfo | Jun 23, 2026 | Jun 14, 2026 |
| Debian | — | Upgrade libgd-perl | Jun 22, 2026 | Jun 22, 2026 |
| Redhat_linux | — | Upgrade perl-GDUpgrade perl-GD-debuginfoNo solution exists | Jul 31, 2026 | Jun 14, 2026 |
| Ubuntu | — | Upgrade libgd-perl | Jun 30, 2026 | Jun 14, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub