Home

Description

HTTP::Daemon versions before 6.17 for Perl allow OS command injection via send_file(). send_file() opens its string argument with Perl's 2-arg open(). The 2-arg form interprets magic prefixes: '| cmd' and 'cmd |' open a pipe to a subprocess, '> path' and '>> path' open the path for write or append. Untrusted input passed to send_file() can run OS commands at the daemon process UID. The read-pipe form ('cmd |') also leaks subprocess stdout into the HTTP response body. The write-mode forms can create or truncate files at attacker chosen paths.

PUBLISHED Reserved 2026-05-12 | Published 2026-05-27 | Updated 2026-05-27 | Assigner CPANSec

Problem types

CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

CWE-73 External Control of File Name or Path

Product status

Default status
unaffected

Any version before 6.17
affected

Timeline

2026-05-12:Issue identified.
2026-05-19:HTTP-Daemon 6.17 released.

References

www.openwall.com/lists/oss-security/2026/05/27/5

github.com/libwww-perl/HTTP-Daemon/pull/89 issue-tracking

github.com/...945d35141d94490f749640bd4390acd6a2193995.patch patch

metacpan.org/release/OALDERS/HTTP-Daemon-6.17/changes release-notes

cve.org (CVE-2026-8450)

nvd.nist.gov (CVE-2026-8450)

Download JSON