Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as @SYSTEM class admin
-
DeliverySend CUPS-Add-Modify-Class with failing validation
-
ExploitLeave dangling pclass->printers pointer
-
ExecutionSend CUPS-Delete-Class to free again
-
ImpactCrash scheduler, printing-wide DoS
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Double free prevention
|
| Exploitation Conditions | Exploitation requires an actor authorized to both modify and delete printer classes; under CUPS's default policy this means @SYSTEM (administrative) privileges, which is the primary limiting factor. The specific trigger is a CUPS-Add-Modify-Class operation that replaces an existing class's member list and then fails subsequent validation (leaving pclass->printers as a dangling pointer), followed by a CUPS-Delete-Class operation that frees the same allocation a second time in cupsdDeletePrinter(). Impact is limited to denial of service (scheduler crash); there is no confidentiality or integrity effect. Only CUPS versions before 2.4.20 are affected. No special non-default configuration is needed beyond having class-management authorization, though whether the attack is reachable remotely depends on the CUPS listener/access configuration. |
| Impact | This is a genuinely low-priority issue whose signals are internally consistent. The provided CVSS of 2.3 (CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L) correctly reflects a denial-of-service-only impact (A:L, with C:N/I:N) gated behind high privileges (PR:H) - matching the description's explicit statement that the default policy requires @SYSTEM privileges to modify and delete printer classes. There is no EPSS score, no CISA KEV listing, and no public exploit code referenced, so exploitation probability signals are all absent or negative; the only reference is the vendor GHSA advisory. One signal conflict must be verified: the input CVSS encodes AV:L (local), yet the description describes 'a client authorized to modify and delete classes' issuing CUPS-Add-Modify-Class and CUPS-Delete-Class operations, which are IPP requests that CUPS can service over the network - verify with the vendor whether the attack surface is truly local-only or network-reachable, as this materially changes the attack vector. Even under the broader network interpretation, the @SYSTEM privilege requirement and availability-only impact keep real-world risk low: an attacker who already holds CUPS administrative rights can crash the scheduler, which is a self-inflicted or insider/post-compromise scenario rather than a remotely-weaponizable flaw. No SSVC decision data was provided. Net: a high-prevalence product but a low-severity, high-privilege DoS - patch in normal maintenance cycles, not an emergency. |
| Exploit ScenarioDerived | An attacker who already holds CUPS class-administration rights (@SYSTEM under the default policy) sends a CUPS-Add-Modify-Class request that replaces an existing class's member list but is crafted so subsequent validation fails, leaving a dangling pointer. The attacker then issues CUPS-Delete-Class, triggering a double-free in cupsdDeletePrinter() that crashes the scheduler and halts all printing service-wide. No public exploit code was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
Denial of service in OpenPrinting CUPS before 2.4.20 lets an actor holding @SYSTEM-level class-management privileges crash the cupsd scheduler by triggering a double-free in printer-class handling. The actor submits a CUPS-Add-Modify-Class request that replaces an existing class's member list and then fails subsequent validation, leaving pclass->printers as a dangling pointer, then issues a CUPS-Delete-Class request so cupsdDeletePrinter() frees the same allocation a second time. Impact is confined to availability (scheduler crash) with no confidentiality or integrity effect, and no public exploit identified at time of analysis - the @SYSTEM privilege prerequisite (PR:H) is the dominant limiting factor, keeping overall risk low even though the assessed vector is network-reachable (AV:N/AC:H) when the CUPS listener is exposed.
RemediationAI
Vendor-released patch: upgrade to OpenPrinting CUPS 2.4.20 or later, the release that closes the affected "before 2.4.20" range, and confirm the cupsd process is restarted after the upgrade; details are in the vendor advisory at https://github.com/OpenPrinting/cups/security/advisories/GHSA-pwg4-pv39-8c22. If immediate upgrade is not possible, the most effective compensating control is to narrow IPP class-management authority: edit cupsd.conf so the CUPS-Add-Modify-Class and CUPS-Delete-Class operations are removed from the @SYSTEM <Limit> blocks (or restricted to a smaller, dedicated group), which breaks the preconditions of both the dangling-pointer creation and the second free - the trade-off is that legitimate administrators can no longer manage classes through IPP clients and must edit classes.conf and restart cupsd instead. Secondarily, reduce reachability by binding cupsd to localhost or an internal interface (Listen localhost:631, WebInterface off, and restricting Allow/Deny or the newer Listen/Access directives), since the assessed vector becomes network-reachable only when the scheduler is exposed; the trade-off is loss of remote printing and remote administration. Note that because exploitation requires high privileges (PR:H, @SYSTEM by default), these measures are hardening rather than urgent, and no public exploit code was identified at the time of analysis.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CUPS (Common UNIX Printing System) is the standard Unix/Linux printing subsystem; its scheduler daemon, cupsd, exposes IPP operations including the CUPS-Add-Modify-Class and CUPS-Delete-Class extensions used to manage printer classes (named groups of member printers). The defect is a classic double-free (CWE-415) in the class-management path: when CUPS-Add-Modify-Class replaces an existing class's member list, add_class() frees the old pclass->printers allocation but does not clear the pointer, so if the request subsequently fails validation the class object retains a dangling pointer to freed memory. A later CUPS-Delete-Class for that class calls cupsdDeletePrinter(), which frees the same allocation again, corrupting the heap and destabilizing the scheduler. Because the trigger is a failed-validation edge case reachable only by a client already authorized to modify and delete classes, the practical precondition is administrative authority; under CUPS's default policy this maps to membership in @SYSTEM, and the CPE entry cpe:2.3:a:openprinting:cups:*:*:*:*:*:*:*:* confirms the entire pre-2.4.20 product line is in scope. Vendor scoring (CVSS:3.1/AV:L/AC:L/PR:H, 2.3) and this assessment (AV:N/AC:H/PR:H, same low availability-only impact) differ only in how the request reaches cupsd - locally versus over an exposed listener - not in the underlying privilege requirement or impact class.
Know when Cups gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H
CUPS class operations are IPP requests so AV:N is more honest than the input's AV:L; the required modify-then-failed-validation-then-delete sequence warrants AC:H, @SYSTEM gives PR:H, and impact is availability-only.
Primary rating from Vendor (mitre).
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
OpenPrinting CUPS before 2.4.20 contains a double-free in printer-class management. When CUPS-Add-Modify-Class replaces an existing class member list, add_class() frees pclass->printers without clearing the pointer. If subsequent validation fails, the class retains the dangling pointer; CUPS-Delete-Class subsequently frees the same allocation in cupsdDeletePrinter(). A client authorized to modify and delete classes can cause scheduler-wide denial of service. The default policy requires @SYSTEM privileges.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
The add_job function in scheduler/ipp.c in cupsd in CUPS before 2.0.3 performs incorrect free operations for multiple-va
Cross-site scripting (XSS) vulnerability in the cgi_puts function in cgi-bin/template.c in the template engine in CUPS b
CUPS 1.4.4, when running in certain Linux distributions such as Debian GNU/Linux, stores the web interface administrator
OpenPrinting CUPS is a standards-based, open source printing system for Linux and other Unix-like operating systems. Rat
Due to failure in validating the length provided by an attacker-crafted PPD PostScript document, CUPS and libppd are sus
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Rated medium severi
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Rated medium severi
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Rated medium severi
OpenPrinting CUPS is an open source printing system. Rated medium severity (CVSS 5.5), this vulnerability is no authenti
The CUPS AppArmor profile incorrectly confined the dnssd backend due to use of hard links. Rated high severity (CVSS 8.8
Integer underflow in the cupsRasterReadPixels function in filter/raster.c in CUPS before 2.0.2 allows remote attackers t
A logic issue was addressed with improved state management. Rated medium severity (CVSS 6.7), this vulnerability is low
EUVD-2026-95470
GHSA-39g6-9jhp-qp3g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB