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.
CVSS Details
- CVSS 3.1 Base Score: 9.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alpine Linux | — | Upgrade perl-gd | Jun 18, 2026 | Jun 14, 2026 |
| Amazon Linux Ami 2 | — | Upgrade perl-GD-debuginfoUpgrade perl-GD | Jun 23, 2026 | Jun 23, 2026 |
| Amazon_linux_2023 | — | Upgrade perl-GD-debuginfoUpgrade perl-GDUpgrade perl-GD-debugsource | Jun 23, 2026 | Jun 14, 2026 |
| Debian | — | Upgrade libgd-perl | Jun 22, 2026 | Jun 22, 2026 |
| Redhat_linux | — | Upgrade perl-GD-debuginfoUpgrade perl-GDNo solution exists | Jul 31, 2026 | Jun 14, 2026 |
| Ubuntu | — | Upgrade libgd-perl | Jun 30, 2026 | Jun 14, 2026 |
Prioritise with Active Threat Intelligence
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