Fedora Account System
Red Hat Associate
Red Hat Customer
CUPS (Common UNIX Printing System) scheduler accepts IPP Create-Printer-Subscription requests with a notify-recipient-uri attribute. In scheduler/ipp.c, create_printer_subscription validates only the URI scheme (notifier type) and does not validate the recipient address portion of mailto: URIs. When a subscribed event fires, the mailto notifier in notifier/mailto.c passes the recipient string verbatim as a command-line argument to the configured sendmail binary (pipe_sendmail / execvp) without rejecting leading "-" characters or inserting a "--" separator. A notify-recipient-uri such as mailto:-tC/path/to/crafted.cf is therefore interpreted by traditional sendmail as option arguments (argument injection, CWE-88). Combined with anonymous Create-Printer-Subscription under default cupsd policy and the ability to stage attacker-controlled files in the CUPS spool via Print-Job, this can chain to arbitrary command execution as the CUPS filter user (lp) when cupsd is network-reachable and a traditional sendmail implementation that honors -C is installed and configured in mailto.conf. Upstream advisory: GHSA-r4wf-366f-f6g3 (OpenPrinting/cups). Upstream affected version cited: 2.4.7. Upstream fixes on master (1244ed9) and 2.4.x (611d1bd) validate notification email addresses and harden sendmail invocation. PSIRT ticket: PSIRTSUPT-24443