cbcvebase.
CVE-2024-47175
published 2024-09-26

CVE-2024-47175: CUPS is a standards-based, open-source printing system, and `libppd` can be used for legacy PPD file support. The `libppd` function `ppdCreatePPDFromIPP2` does…

PriorityP180critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EXPLOIT
EPSS
62.47%
99.1th percentile
CUPS is a standards-based, open-source printing system, and `libppd` can be used for legacy PPD file support. The `libppd` function `ppdCreatePPDFromIPP2` does not sanitize IPP attributes when creating the PPD buffer. When used in combination with other functions such as `cfGetPrinterAttributes5`, can result in user controlled input and ultimately code execution via Foomatic. This vulnerability can be part of an exploit chain leading to remote code execution (RCE), as described in CVE-2024-47176.

Affected

29 ranges· showing 25
VendorProductVersion rangeFixed in
applecups>= 0 < 2.3.3op2-3+deb11u92.3.3op2-3+deb11u9
applecups>= 0 < 2.4.2-3+deb12u82.4.2-3+deb12u8
applecups>= 0 < 2.4.10-22.4.10-2
applecups>= 0 < 2.4.10-22.4.10-2
debiancups< cups 2.4.2-3+deb12u8 (bookworm)cups 2.4.2-3+deb12u8 (bookworm)
debiancups-filters< cups-filters 1.28.17-3+deb12u1 (bookworm)cups-filters 1.28.17-3+deb12u1 (bookworm)
debiandebian_linux
debianlibppd< cups 2.4.2-3+deb12u8 (bookworm)cups 2.4.2-3+deb12u8 (bookworm)
googlechrome_chrome
linuxfoundationcups-filters>= 0 < 1.28.7-1+deb11u31.28.7-1+deb11u3
linuxfoundationcups-filters>= 0 < 1.28.17-3+deb12u11.28.17-3+deb12u1
linuxfoundationcups-filters>= 0 < 1.28.17-51.28.17-5
linuxfoundationcups-filters>= 0 < 1.28.17-51.28.17-5
openprintingcups< 2.4.132.4.13
openprintingcups-browsed
openprintinglibppd<= 2.0.0
openprintinglibppd
paloaltocloud_ngfw
paloaltocortex_xdr
paloaltocortex_xdr_agent
paloaltocortex_xsiam
paloaltocortex_xsoar
paloaltoglobalprotect_app
paloaltopan-os
paloaltoprisma_access

Detection & IOCsextracted from sources · hover to see the quote

portUDP/631
path/tmp/
processfoomatic-rip
sigma
process where host.os.type == "linux" and event.type == "start" and
event.action == "exec" and process.parent.name == "foomatic-rip" and
process.name in ("bash", "dash", "sh", "tcsh", "csh", "zsh", "ksh", "fish")
and not process.command_line like ("*/tmp/foomatic-*", "*-sDEVICE=ps2write*")
sigma
process where host.os.type == "linux" and event.type == "start" and
event.action == "exec" and user.name == "lp" and
process.parent.name in ("cupsd", "foomatic-rip", "bash", "dash", "sh",
"tcsh", "csh", "zsh", "ksh", "fish") and process.name in ("bash", "dash",
"sh", "tcsh", "csh", "zsh", "ksh", "fish") and not process.command_line
like ("*/tmp/foomatic-*", "*-sDEVICE=ps2write*")
  • Detect shell processes spawned directly by foomatic-rip on Linux; legitimate print jobs do not require shell execution, making this a strong indicator of CVE-2024-47175/CVE-2024-47177 exploitation.
  • Monitor for any process execution under the 'lp' user that spawns a shell (bash, dash, sh, tcsh, csh, zsh, ksh, fish); the lp user should not normally spawn interactive shells.
  • Alert on network connections initiated by child processes of foomatic-rip; legitimate print operations do not involve these processes establishing outbound connections.
  • Monitor for files written to /tmp/ by the 'lp' user, which is a common indicator of PoC/exploit activity for these CUPS vulnerabilities.
  • Hunt for the FoomaticRIPCommandLine directive appearing in PPD files written to temporary locations; its presence indicates attacker-injected command execution payloads via CVE-2024-47175.
  • On local networks, watch for spoofed mDNS/DNS-SD/ZeroConf printer advertisements registering new IPP printer services, which is the LAN-side attack vector for these vulnerabilities.
  • ·CVE-2024-47175 affects libppd ≤ 2.1b1 only; systems running patched or newer versions of libppd are not vulnerable.
  • ·Exploitation of CVE-2024-47175 in the full RCE chain requires user interaction: a print job must be initiated to the malicious printer for the injected FoomaticRIPCommandLine directive to execute.
  • ·The lp user executing arbitrary commands may be constrained by AppArmor or SELinux policies; default configurations on many systems allow effective payloads such as reverse shells, but hardened environments may limit impact.
  • ·Interactive reverse shells are not immediately supported via this exploit because the lp user does not have a login shell by default, though this can be worked around.
  • ·Cloud environments are assessed as highly unlikely to be exploited remotely via the currently known method, since UDP port 631 is rarely open and printing is rarely used in cloud workloads.
  • ·Setting BrowseRemoteProtocols to 'dnssd' (removing 'cups') in /etc/cups/cups-browsed.conf mitigates the attack vector without fully disabling CUPS, for environments that require printing.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
osv9.8CRITICAL
vendor_debian8.6HIGH
vendor_redhat8.6HIGH
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.