Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocal user submits job-held-on-create to temporary printer
-
ExploitTemporary-printer cleanup deletes destination without canceling held job
-
ExecutioncupsdCheckJobs() dereferences NULL from cupsdFindDest()
-
Impactcupsd crashes, all managed queues interrupted
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that CUPS be using temporary printers (auto-created when clients access a shared or network-discovered destination) AND that a job be submitted with the job-held-on-create attribute referencing such a temporary printer. The crash occurs only when temporary-printer cleanup deletes that destination while the held job still references it, so cupsdFindDest() returns NULL during the holding_new_jobs check in cupsdCheckJobs(). Limiting factors: high attack complexity (AC:H) due to the required ordering/timing between held-job submission and automatic printer deletion, dependence on the temporary-printer feature being exercised, and affected versions being CUPS before 2.4.20; impact is confined to denial of service of cupsd and its queues. |
| Impact | This is a moderate-severity availability-only defect (CVSS 5.1, A:H with C:N/I:N) rather than a top-tier priority. The CVSS vector (AV:L/AC:H/PR:N/UI:N) describes a local attack with high complexity, which is consistent with the described race-like condition: a held job must reference a temporary printer that is then auto-deleted before the job is canceled. There is a notable conflict to flag: the CVSS vector specifies AV:L (local) and PR:N (no privileges), yet the description says 'an unprivileged submission can trigger this' and CUPS job submission commonly occurs over IPP, which could imply a network path - verify the true attack surface with the vendor/GHSA advisory before treating this as purely local. No EPSS score, KEV listing, or POC was supplied; with no public exploit identified at time of analysis and high attack complexity, real-world exploitation risk is currently low-to-moderate and best characterized as targeted/opportunistic DoS rather than widespread. The impact is limited to crashing cupsd and interrupting its managed queues - disruptive but not a confidentiality or integrity compromise. |
| Exploit ScenarioDerived | A local, low-privilege user submits a print job with the job-held-on-create option targeting a temporary printer (the kind auto-created when accessing a shared/network destination). When temporary-printer cleanup deletes that destination while the held job still references it, cupsdCheckJobs() dereferences the NULL return of cupsdFindDest(), crashing cupsd and halting all its queues. No public exploit code is identified at time of analysis, and the high complexity (AC:H) reflects the specific timing/configuration required. |
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 a local, low-privileged user crash the cupsd scheduler by submitting a print job with the job-held-on-create attribute that references a temporary printer, which can then be auto-deleted while the held job still references it, triggering a NULL pointer dereference in cupsdCheckJobs(). The crash occurs when cupsdFindDest() returns NULL during the holding_new_jobs check, terminating cupsd and interrupting every queue it manages. Exploitation requires the temporary-printer feature (auto-created for shared or network-discovered destinations) to be in use and depends on timing between held-job submission and automatic printer cleanup, giving high attack complexity (AC:H) and availability-only impact (CVSS 5.1, C:N/I:N/A:H); no public exploit code has been identified at time of analysis.
RemediationAI
Upgrade to OpenPrinting CUPS 2.4.20 or later, the first release outside the affected before-2.4.20 range, and consult the upstream advisory GHSA-qqm8-4q5h-jg55 (https://github.com/OpenPrinting/cups/security/advisories/GHSA-qqm8-4q5h-jg55) for distribution-specific fixed packages. Because the attack path depends on temporary/implicit printers, disabling that feature in cupsd.conf by setting ImplicitClasses No and ImplicitAnyClasses No, and where network discovery is not needed turning browsing off with Browsing Off or narrowing BrowseLocalProtocols, removes the automatic cleanup path that deletes the destination; the trade-off is that clients will no longer auto-discover shared printers. Restricting access to the CUPS socket and TCP port 631 to trusted users or groups shrinks the local attack surface, but is only a partial control since many configurations allow ordinary local users to submit jobs. Restarting cupsd merely recovers from a crash and does not prevent recurrence, so it should not be treated as a fix.
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
The defect is a NULL pointer dereference (CWE-476) inside the CUPS scheduler daemon cupsd, specifically in cupsdCheckJobs(). CUPS creates temporary (implicit) printers when clients access shared or network-discovered destinations, and those destinations are normally cleaned up automatically when they are no longer needed. A job submitted with the job-held-on-create attribute, used to hold a job until the destination exists, remains queued against that temporary printer. If the cleanup path deletes the destination before the held job is processed, cupsdFindDest() returns NULL, and the subsequent check of holding_new_jobs dereferences that NULL pointer, aborting cupsd. The only affected product per the CPE data is openprinting:cups (cpe:2.3:a:openprinting:cups:*:*:*:*:*:*:*:*), meaning all CUPS releases before 2.4.20. The assessed vector is CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H: local access, low privileges required, high attack complexity due to the required ordering between submission and cleanup, no user interaction, no confidentiality or integrity impact, and high availability impact confined to the cupsd process and the print queues it serves.
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:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Local job submission needs an unprivileged account (PR:L) and a specific delete-while-held race (AC:H); impact is availability-only (A:H, C/I:N) crashing cupsd.
Primary rating from Vendor (mitre).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
OpenPrinting CUPS before 2.4.20 contains a NULL pointer dereference in cupsdCheckJobs() when a job marked job-held-on-create refers to a temporary printer that has been automatically deleted. Temporary-printer cleanup can remove the destination without canceling its held jobs, and the scheduler dereferences the NULL result of cupsdFindDest() while checking holding_new_jobs. This terminates cupsd and interrupts all queues managed by that process. In some plausible scenarios, an unprivileged submission can trigger this.
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
A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).
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-95476
GHSA-95mw-jr52-2v5f
NVD
CVE.org
EPSS
VulDB
Exploit-DB