Skip to content
Fencer Vulns
medium 5.7

CVE-2026-55480 json

CUPS copy_model() creates a predictable PPD tempfile without O_EXCL/O_NOFOLLOW (symlink TOCTOU, lp → root)

published 2026-10-15 24 d ago modified 2026-10-20 19 d ago also EUVD-2026-102205

cvss
5.7
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 10%
public exploits
0
none known

Summary

OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Prior to 2.4.20, copy_model() in scheduler/ipp.c creates a predictable TempDir/<connection-number>.ppd path in an lp-group-writable directory and opens it as root without O_EXCL or O_NOFOLLOW. Exploitation requires an lp-group process able to write that directory to predict the connection-derived name and plant a symlink before the root open, while a privileged add-printer or modify-printer operation using a model PPD triggers copy_model(). The reporter treats an existing lp foothold and the privileged operation as distinct prerequisites, while the maintainer assesses high privileges because installing the relevant filter or administering the printer requires root or print-administrator access. If the race succeeds, the root scheduler follows the symlink and truncates or overwrites a root-writable target with generated PPD data, compromising file integrity or availability. This issue is fixed in version 2.4.20.

Patch / fix

  • openprinting cups 2.4.20
  • cups hummingbird 1 2.4.19-4.6.hum1
  • cups-lpd hummingbird 1 2.4.19-4.6.hum1
  • cups-libs hummingbird 1 2.4.19-4.6.hum1
  • cups-client hummingbird 1 2.4.19-4.6.hum1
  • cups-ipptool hummingbird 1 2.4.19-4.6.hum1
  • cups-filesystem hummingbird 1 2.4.19-4.6.hum1
  • cups-printerapp hummingbird 1 2.4.19-4.6.hum1

red hat advisories RHSA-2026:84421

  • cups openSUSE Tumbleweed 2.4.20-1.1

opensuse advisories openSUSE-SU-2026:12192-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-55480 updated cvss 5.7

cups: cups: Arbitrary file overwrite via insecure temporary file handling

  • Red Hat Enterprise Linux 6 cups, cups-lpd, cups-php, cups-libs Red Hat Enterprise Linux 7 cups, cups-lpd, cups-libs, cups-client, cups-ipptool, cups-filesystem Red Hat Enterprise Linux 8 cups, cups-lpd, cups-libs, cups-client, cups-ipptool, cups-filesystem Red Hat Enterprise Linux 9 cups, cups-lpd, cups-libs, rhel9/cups, cups-client, cups-ipptool, +2 more Red Hat Enterprise Linux 10 cups
    affected: workaround, no fix available “Restrict access to the lp administrative group and ensure the CUPS TempDir points to a private directory with restricted permissions (0700) owned strictly by root.”
  • Red Hat Hardened Images cups 2.4.19-4.6.hum1, cups-lpd 2.4.19-4.6.hum1, cups-libs 2.4.19-4.6.hum1, cups-client 2.4.19-4.6.hum1, cups-ipptool 2.4.19-4.6.hum1, cups-filesystem 2.4.19-4.6.hum1, +1 more
    fixed: vendor fix “Restrict access to the lp administrative group and ensure the CUPS TempDir points to a private directory with restricted permissions (0700) owned strictly by root.” RHSA-2026:84421

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
no
Technical impact
partial
Assessed
20 d ago

Exploit prediction

0.20% chance of exploitation in the next 30 days, higher than 10% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/OpenPrinting/cups/security/advisories/GHSA-jj94-x3qh-ffp9 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 5.7 CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:H

Affected products

  • OpenPrinting cups

Classification

Weakness
  • CWE-59 Improper Link Resolution Before File Access
  • CWE-377 DEPRECATED: Insecure Temporary File

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.