Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| RURBAN / GD | affected 0 before 2.86 |
CWE
CWE-78, CWE-73
References
- https://github.com/lstein/Perl-GD/commit/67b163713c6c78dfeb693da0978ae934e5cd8210.patch
- https://metacpan.org/release/RURBAN/GD-2.86/changes
ADP enrichment
No English description supplied.
No English description supplied.
No references supplied.