CUPS ipp backend status-line injection can update queue PPD and lead to conditional RCE as lp via foomatic-rip
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Prior to 2.4.20, the backend/ipp.c quote_string() function preserves carriage-return and line-feed characters in a remote printer-controlled marker-message before report_attr() writes the value to the scheduler status stream. The scheduler can parse an injected newline as a separate PPD: control line and persist an attacker-selected PPD keyword. The reporter demonstrated that a later print job on a Foomatic-backed queue could consume an injected FoomaticRIPCommandLine value and execute in the filter context as lp. This issue is fixed in version 2.4.20.
Text from CVE List
Affected versions 1
- cupsaffected: < 2.4.20CVE List
References 4
- github.com/OpenPrinting/cups/commit/806e1b483096c51d59432468f4afdd7387d81dd7Fixvia CVE List
- github.com/OpenPrinting/cups/commit/d41cf0616688721e9d435d54118c4c8a36ed596aFixvia CVE List
- github.com/OpenPrinting/cups/releases/tag/v2.4.20Fixvia CVE List
- github.com/OpenPrinting/cups/security/advisories/GHSA-7hqf-mfhx-7r3vAdvisoryvia CVE List