Home/ Blog/ Security news/ Article
Blog · Security news

A rigged printer advertisement can trap Linux print systems in a CPU-burning loop (CVE-2026-64611)

CVE-2026-64611 lets a crafted printer advertisement drive libcupsfilters into an infinite loop, burning a CPU core on Linux print systems. Patch and harden now.

Isometric printer emitting a paper ribbon that coils into a closed loop

A Linux print system can be knocked out by a single fake printer. A flaw tracked as CVE-2026-64611 in libcupsfilters, the printing library behind CUPS on most Linux distributions, lets an attacker who can advertise a printer on the network drive the service into an endless loop that eats a processor core and never stops. It is a denial-of-service bug, not remote code execution, and it carries a severity of 7.5. The reason it still deserves a place on your list: it sits on the exact code path, automatic network printer discovery, that produced the CUPS remote-code-execution scare of 2024.

What the bug actually does

When a printer announces itself on a network, it advertises an IEEE-1284 device ID, a text string that names its make and model. The cfIEEE1284NormalizeMakeModel() function cleans that string up. According to the CVE record, when the model portion arrives empty, the routine never reaches its exit condition and spins forever, consuming CPU without end. The flaw is classified as CWE-835, a loop with an unreachable exit condition.

The severity vector tells you the shape of the risk exactly: reachable over the network, no privileges or user interaction required, and rated for availability impact only, with no confidentiality or integrity loss. An attacker cannot read data, change files, or run code through this bug. They can only exhaust a processor and take printing offline. Red Hat, which assigned the CVE, lists cups-filters across Enterprise Linux 7 through 10 and libcupsfilters on Enterprise Linux 10 as affected. The trigger is any host that parses an advertised device ID, which in practice means a machine running the CUPS discovery service.

Two denial-of-service bugs, one release

CVE-2026-64611 did not ship alone. The same libcupsfilters 2.1.0 release also fixes CVE-2026-64612, where the project's PNG image reader is built without an error-recovery handler, so a malformed PNG submitted as a print job aborts the CUPS image filter and kills that job. It needs no authentication. Two different inputs, the same outcome: the printing pipeline stops doing its work.

CVEWhat triggers itWho can send itImpact
CVE-2026-64611Printer advertisement with an empty model fieldAnyone who can advertise a printer on a network the host discoversInfinite loop, one CPU core pinned
CVE-2026-64612Malformed PNG sent as a print jobUnauthenticated print-job submitterImage filter aborts, the print job dies
Both fixed upstream in libcupsfilters 2.1.0. Source: OpenPrinting release notes and the CVE records.

This is the printer-discovery attack surface, again

The 2024 CUPS saga, which began with CVE-2024-47076 and its siblings, also started with the discovery service accepting a printer advertisement from the network and trusting the device attributes inside it. That chain reached remote code execution through a downstream filter. This year's bug is far less severe, a loop instead of a shell, but the entry point is identical: a service listening for printer announcements, parsing the make and model an unknown device claims to be.

The pattern is worth naming. The IEEE-1284 device-ID string keeps being the soft spot because it is attacker-controlled text that flows straight into parsers written on the assumption that a real, well-behaved printer is on the other end. Empty a field the code expected to be populated, and the assumption breaks. libcupsfilters is not unusual here. We have watched the same shape play out as a memory-exhaustion denial of service in OpenSSL's TLS handling and a crash in NGINX's config handling, where untrusted input reaches a routine that assumed a well-formed peer. The fix always closes the specific hole; the exposure is the listener itself.

Patch, then decide whether you should be listening at all

Treat any host running the CUPS discovery service as reachable by anyone on its network segment, and work through this in order.

  • Patch. Update the cups-filters and libcupsfilters packages through your distribution. The upstream fix is in libcupsfilters 2.1.0, and vendors including Red Hat backport it as errata, so a normal package update applies the patch once your distribution publishes it. As with any denial-of-service patch gap, the window between disclosure and your update is the exposure.
  • Reduce the surface. Most servers never need to discover network printers. If a host is not a print server, disable and mask cups-browsed, or stop cupsd entirely. This is the same move that blunted the 2024 remote-code-execution risk, and it removes this denial of service at the same time.
  • Filter the network. Block inbound printer-discovery traffic, including UDP port 631 and mDNS printer announcements, at the host or segment boundary for machines with no reason to receive them.
  • Detect it. You will not get an alert that names the CVE. What you will see is cups-browsed or a cupsd worker stuck near 100 percent of one core with no print activity to explain it. Alert on sustained single-process CPU for the printing daemons, and treat an unexplained spike as worth a look, not a quiet restart.

Printing is the classic service that is installed by default, rarely used on servers, and almost never watched. Two denial-of-service bugs in one release is a small event on its own. The recurring lesson is the bigger one: the code that listens for network printer advertisements has been a reliable source of trouble, and the cheapest fix is to stop listening where you never needed to.

Frequently asked questions

What is CVE-2026-64611?

CVE-2026-64611 is a denial-of-service flaw in libcupsfilters, the printing library used by CUPS on Linux. A crafted printer advertisement with an empty model field sends the cfIEEE1284NormalizeMakeModel function into an infinite loop that consumes a CPU core. It is rated CVSS 7.5 and does not allow code execution.

Can CVE-2026-64611 be used to run code or steal data?

No. CVE-2026-64611 is availability-only: the CVSS vector shows no confidentiality or integrity impact. An attacker can pin a CPU core and deny the printing service, but cannot read data, change files, or execute code on the host.

How do I fix CVE-2026-64611?

Update the cups-filters and libcupsfilters packages through your Linux distribution. The upstream fix ships in libcupsfilters 2.1.0, and vendors including Red Hat backport it as errata, so a standard package update applies the patch once your distribution publishes it.

Which systems are affected?

Systems running libcupsfilters or cups-filters that process network printer advertisements, typically Linux hosts with the cups-browsed discovery service enabled. Red Hat lists cups-filters on Enterprise Linux 7 through 10 and libcupsfilters on Enterprise Linux 10. Servers that never print but still run discovery are the real exposure.

How would I know if I was hit?

Watch the printing daemons. A cups-browsed process or a cupsd worker stuck near 100 percent of one CPU core with no print jobs to explain it is the signal. There is no data breach to detect here; the only symptom is sustained, unexplained processor use by the print service.

What is CVE-2026-64612?

CVE-2026-64612 is a companion denial-of-service bug fixed in the same libcupsfilters 2.1.0 release. Its PNG image reader lacks an error-recovery handler, so a malformed PNG submitted as a print job aborts the CUPS image filter and kills that job. It can be triggered without authentication.

Ready to meet the Guardians?

Deploys fast - agentless for monitoring and cloud, a lightweight agent for deep endpoint security. Just Suriq, standing watch.