| Name | CVE-2026-8450 |
| 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| References | DLA-4639-1, DSA-6358-1 |
| Debian Bugs | 1138050 |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|
| libhttp-daemon-perl (PTS) | bullseye | 6.12-1+deb11u1 | vulnerable |
| bullseye (security) | 6.12-1+deb11u2 | fixed |
| bookworm, trixie | 6.16-1 | vulnerable |
| bookworm (security) | 6.16-1+deb13u1~deb12u1 | fixed |
| trixie (security) | 6.16-1+deb13u1 | fixed |
| forky, sid | 6.17-1 | fixed |
The information below is based on the following data on fixed versions.
Notes
https://lists.security.metacpan.org/cve-announce/msg/40435207/
https://github.com/libwww-perl/HTTP-Daemon/pull/89
Fixed by: https://github.com/libwww-perl/HTTP-Daemon/commit/945d35141d94490f749640bd4390acd6a2193995 (v6.17)