CVE-2024-47177
NoneCVSS
—
EPSS
—
Published
Sep 26, 2024
CISA due date
—
Cloudanix analysis
A printing system component can be tricked into running attacker-chosen commands, potentially allowing outsiders to take over affected computers.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Any value passed to FoomaticRIPCommandLine via a PPD file is executed as a user-controlled command, enabling remote command execution when combined with related logic issues.
Why it matters to the business
Attackers can gain unauthorized control over printing-related systems, leading to potential data breaches, service disruption, and the need for urgent patching across affected deployments.
How an attack unfolds
An attacker supplies a malicious PPD file containing arbitrary commands in the FoomaticRIPCommandLine directive; when processed alongside companion flaws, this results in remote code execution on the target system.
How to fix it
Upgrade github.com/ThomasLeister/prosody-filer to version 1.0.1 or later; apply vendor patches for CUPS and cups-filters components; disable untrusted PPD file processing where feasible.
How to confirm the fix worked
Verify the installed version of affected packages matches or exceeds the fixed release; test that FoomaticRIPCommandLine values from untrusted PPD files are no longer executed.
Typical attack path
- Identify a reachable printing service or dependent component accepting PPD files
- Craft a malicious PPD file embedding commands in the FoomaticRIPCommandLine parameter
- Deliver the PPD file through an available input vector such as a print job submission
- Trigger processing that combines the injection with other logic bugs to achieve code execution
How to detect it
Inspect logs for unexpected command execution or unusual PPD file processing; review print job submissions containing FoomaticRIPCommandLine directives from external sources.
What your security team should do
- Prioritize upgrading prosody-filer to 1.0.1 within the next maintenance window
- Review and restrict sources of PPD files in the environment
- Monitor for new exploit activity given weaponized maturity status
The record
CUPS is a standards-based, open-source printing system, and cups-filters provides backends, filters, and other software for CUPS 2.x to use on non-Mac OS systems. Any value passed to `FoomaticRIPCommandLine` via a PPD file will be executed as a user controlled command. When combined with other logic bugs as described in CVE_2024-47176, this can lead to remote command execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.19 | cups | 0 | 2.4.9-r1 |
| Alpine:v3.20 | cups | 0 | 2.4.9-r1 |
| Alpine:v3.21 | cups | 0 | 2.4.10-r1 |
| Alpine:v3.22 | cups | 0 | 2.4.10-r1 |
| Debian:11 | cups | 0 | No fix |
| Debian:11 | cups-filters | 0 | No fix |
| Debian:11 | cups-filters | 0 | 1.28.7-1+deb11u3 |
| Debian:11 | libppd | 0 | No fix |
| Debian:12 | cups | 0 | No fix |
| Debian:12 | cups-filters | 0 | No fix |
| Debian:12 | cups-filters | 0 | 1.28.17-3+deb12u1 |
| Debian:12 | libppd | 0 | No fix |
| Debian:13 | cups | 0 | No fix |
| Debian:13 | cups-filters | 0 | No fix |
| Debian:13 | cups-filters | 0 | 1.28.17-5 |
| Debian:13 | libcupsfilters | 0 | 2.0.0-3 |
| Mageia:9 | cups | 0 | 2.4.6-1.3.mga9 |
| Mageia:9 | cups-filters | 0 | 1.28.16-6.1.mga9 |
| Ubuntu:20.04:LTS | cups-filters | 0 | No fix |
| Ubuntu:22.04:LTS | cups-filters | 0 | No fix |
| Ubuntu:24.04:LTS | cups-filters | 0 | No fix |
| Ubuntu:24.10 | cups-filters | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | cups-filters | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | cups-filters | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | cups-filters | 0 | No fix |
Related vulnerabilities
- CVE-2024-47076 CUPS is a standards-based, open-source printing system, and `libcupsfilters` contains the… Same vulnerability
- CVE-2024-47175 CUPS is a standards-based, open-source printing system, and `libppd` can be used for… Same vulnerability
- CVE-2024-47176 CUPS is a standards-based, open-source printing system, and `cups-browsed` contains… Same vulnerability
- CVE-2023-32360 An authentication issue was addressed with improved state management. Also affects cups
- CVE-2019-2228 In array_find of array.c, there is a possible out-of-bounds read due to an incorrect… Also affects cups
- CVE-2015-3258 Heap-based buffer overflow in the WriteProlog function in filter/texttopdf.c in texttopdf… Also affects cups
- CVE-2015-1158 The add_job function in scheduler/ipp.c in cupsd in CUPS before 2.0.3 performs incorrect… Also affects cups
- CVE-2014-9679 Integer underflow in the cupsRasterReadPixels function in filter/raster.c in CUPS before… Also affects cups