CVE-2026-8450: HTTP::Daemon versions before 6.17 for Perl allow OS command injection via send_file()
Stig Palmquist 27 May 2026 04:26 UTC
========================================================================
CVE-2026-8450 CPAN Security Group
========================================================================
CVE ID: CVE-2026-8450
Distribution: HTTP-Daemon
Versions: before 6.17
MetaCPAN: https://metacpan.org/dist/HTTP-Daemon
VCS Repo: https://github.com/libwww-perl/HTTP-Daemon
HTTP::Daemon versions before 6.17 for Perl allow OS command injection
via send_file()
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.
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
Solutions
---------
Upgrade to HTTP-Daemon 6.17 or later.
References
----------
https://github.com/libwww-perl/HTTP-Daemon/pull/89
https://github.com/libwww-perl/HTTP-Daemon/commit/945d35141d94490f749640bd4390acd6a2193995.patch
https://metacpan.org/release/OALDERS/HTTP-Daemon-6.17/changes
Timeline
--------
- 2026-05-12: Issue identified.
- 2026-05-19: HTTP-Daemon 6.17 released.