Every CVE Search/ Get API key

CVE-2026-11526

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

9.8 CriticalFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.35%Up 1.1 points since Jun 14, 2026
90%50%10%1%

What each source reports

CVE List Score used 9.8

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 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.

Record
CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-78, CWE-73
Updated
2026-11-02
EUVDEUVD-2026-36659 9.8

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.

Record
EUVD-2026-36659
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-hx22-9fx3-xg77 9.8

GD versions before 2.86 for Perl allow OS command injection and file overwrite via a 2-arg open()...

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.

Record
GHSA-hx22-9fx3-xg77
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73
Updated
2026-11-02
NVD 9.8

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.

Record
CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73, CWE-78
Updated
2026-11-02
OSVALPINE-CVE-2026-11526 9.8

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.

Record
ALPINE-CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVBELL-CVE-2026-11526 9.8
Record
BELL-CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 8 moreShow less
OSV 9.8

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 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.

Record
CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73, CWE-78
Updated
2026-11-02
OSVDEBIAN-CVE-2026-11526 9.8

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.

Record
DEBIAN-CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVOESA-2026-2789 9.8

perl-GD security update

This is a autoloadable interface module for libgd, a popular library for creating and manipulating PNG files. With this library you can create PNG images on the fly or modify existing files. Features include:

Security Fix(es):

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.(CVE-2026-11526)

Record
OESA-2026-2789
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:49758 9.8

Red Hat Security Advisory: perl-GD security update

Record
RHSA-2026:49758
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-11526 9.8

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.

Record
UBUNTU-CVE-2026-11526
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVMGASA-2026-0318 No score

Updated perl-GD package fixes a security vulnerability

The updated package fixes a security vulnerability: 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. (CVE-2026-11526)

Record
MGASA-2026-0318
Updated
2026-11-02
OSVopenSUSE-SU-2026:11017-1 No score

perl-GD-2.860.0-1.1 on GA media

These are all security issues fixed in the perl-GD-2.860.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11017-1
Updated
2026-11-02
OSVUSN-8484-1 No score

libgd-perl vulnerability

It was discovered that GD.pm incorrectly handled filename arguments. An attacker could possibly use this issue to execute arbitrary commands or overwrite files.

Record
USN-8484-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
perl-gd
Alpine:v3.21
before 2.86-r0
2.86-r0
perl-gd
Alpine:v3.22
before 2.86-r0
2.86-r0
perl-gd
Alpine:v3.23
before 2.86-r0
2.86-r0
perl-gd
Alpine:v3.24
before 2.86-r0
2.86-r0
perl-gd
Alpaquita:23
2.76-r0 up to 2.76-r1
2.76-r1
perl-gd
Alpaquita:25
2.83-r0 up to 2.86-r0
2.86-r0
perl-gd
Alpaquita:stream
2.75-r0 up to 2.86-r0
2.86-r0
libgd-perl
Debian:12
before 2.76-4+deb12u1, plus listed versions
2.76-4
2.76-4+deb12u1
libgd-perl
Debian:13
before 2.78-1+deb13u1, plus listed versions
2.78-1
2.78-1+deb13u1
libgd-perl
Debian:14
before 2.84-3, plus listed versions
2.78-12.83-12.84-12.84-2
2.84-3
Show 16 moreShow less
Affected packages
PackageAffectedFixed
perl-GD
Mageia:10
before 2.840.0-1.1.mga10
2.840.0-1.1.mga10
perl-GD
Mageia:9
before 2.760.0-3.1.mga9
2.760.0-3.1.mga9
perl-GD
openEuler:24.03-LTS-SP3
before 2.78-2.oe2403sp3
2.78-2.oe2403sp3
perl-GD
openEuler:20.03-LTS-SP4
before 2.72-3.oe2003sp4
2.72-3.oe2003sp4
perl-GD
openEuler:22.03-LTS-SP4
before 2.75-3.oe2203sp4
2.75-3.oe2203sp4
perl-GD
openEuler:24.03-LTS-SP1
before 2.78-2.oe2403sp1
2.78-2.oe2403sp1
perl-GD
Red Hat:rhel_els:7
before 0:2.49-3.el7_9.1
0:2.49-3.el7_9.1
perl-GD-debuginfo
Red Hat:rhel_els:7
before 0:2.49-3.el7_9.1
0:2.49-3.el7_9.1
libgd-perl
Ubuntu:16.04:LTS
All versions, plus listed versions
2.53-1build12.53-22.53-2build12.53-2.1
None known
libgd-perl
Ubuntu:18.04:LTS
All versions, plus listed versions
2.66-1build1
None known
libgd-perl
Ubuntu:20.04:LTS
All versions, plus listed versions
2.71-22.71-2build1
None known
libgd-perl
Ubuntu:22.04:LTS
before 2.76-2ubuntu0.1, plus listed versions
2.73-1build22.76-22.76-2build1
2.76-2ubuntu0.1
libgd-perl
Ubuntu:24.04:LTS
before 2.78-1ubuntu0.24.04.1, plus listed versions
2.76-4build12.78-12.78-1build12.78-1build22.78-1build3
2.78-1ubuntu0.24.04.1
libgd-perl
Ubuntu:25.10
before 2.78-1ubuntu0.25.10.1, plus listed versions
2.78-1build4
2.78-1ubuntu0.25.10.1
libgd-perl
Ubuntu:26.04:LTS
before 2.84-2ubuntu0.1, plus listed versions
2.78-1build42.83-12.84-2
2.84-2ubuntu0.1
perl-GD
openSUSE:Tumbleweed
before 2.860.0-1.1
2.860.0-1.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-11526 is a critical vulnerability (CVSS 9.8) in Microsoft Gd, published June 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.35%, the 71st percentile. Fixed in perl-gd 2.86-r0.

References

Show 22 moreShow less
MoveEnter Open