OpenPrinting CUPS: root-side banner file disclosure
What fixes it
- 2.4.20cupsGitHub
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Prior to 2.4.20, copy_banner() in scheduler/ipp.c uses the attacker-controlled IPP attributes-natural-language value as a directory component beneath DataDir/banners when processing a job-sheets banner. The job-sheets value must first match a registered banner basename, and the traversed path must contain a matching reachable basename; selecting an arbitrary target as demonstrated additionally requires pre-positioned path state such as a symlink with that basename. Subject to the scheduler's filesystem and sandbox access, path separators in the language value can escape the intended banner directory, make the root scheduler open the reachable file, and copy its bytes into a job-sheet spool object that a configured backend can deliver to an attacker-observable endpoint. This issue is fixed in version 2.4.20.
Text from CVE List
Affected versions 2
- cupsaffected: < 2.4.20CVE List
- cups<= 2.4.19GitHub
References 4
- github.com/OpenPrinting/cups/commit/08a8a277ce2a8948a1af33552247a1ac53b72df3Fixvia CVE List
- github.com/OpenPrinting/cups/commit/6650428234616a97d3298e0e2d4419c62c1339d2Fixvia CVE List
- github.com/OpenPrinting/cups/releases/tag/v2.4.20Fixvia CVE List
- github.com/OpenPrinting/cups/security/advisories/GHSA-gq9p-4w7m-2f5gAdvisoryvia CVE List