REDHAT-BUG-2502799: Medium severity OpenPrinting libcupsfilters vulnerability
libcupsfilters through 2.1.1 contains a denial-of-service flaw in cfIEEE1284NormalizeMakeModel() in cupsfilters/ieee1284.c. When processing an IEEE-1284 device ID with an empty MDL field, modelptr equals buffer after copying zero model characters, causing the dedup loop at line 1122 to call strncasecmp(buffer, modelptr, 0) which always returns 0 and moverightpart(buffer, bufsize, modelptr, 0) which makes no progress. The loop never terminates and pins one CPU core indefinitely. The function is reachable over the network via cfIEEE1284GetMakeModel() called by cups-browsed on printer-advertised device IDs (IPP/DNS-SD). CWE-835. No upstream fix; PR #139 / commit 7c45e5f addresses an adjacent OOB-read only.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
libcupsfilters (cupsfilters/ieee1284.c)to a version that resolves this vulnerability.Fixed in 2.1.1 - Compensating control
Mitigate the network-reachable denial of service path by restricting access to printer discovery/browsing that triggers cups-browsed processing of printer-advertised device IDs (IPP/DNS-SD).