CVE-2023-34241
MediumCVSS 5.3Exploitation Probability (EPSS)
Elevated risk68th percentile - higher than 68% of all known CVEs
Summary
CUPS versions from 2.0.0 to 2.4.6 contain a use-after-free bug that causes logging of free memory data after the connection has been closed, instead of before. This issue affects the entire cupsd process.
Risk Assessment
Exploitation of this vulnerability may lead to the disclosure of sensitive memory information, posing a risk to system security. Organizations should be aware of potential threats related to unauthorized access to logs.
Recommendation
It is recommended to update CUPS to version 2.4.6 or later to mitigate this vulnerability. Additionally, monitoring logs and system configuration is advisable to detect potential attempts to exploit this flaw.
Original NVD description (English source)
OpenPrinting CUPS is a standards-based, open source printing system for Linux and other Unix-like operating systems. Starting in version 2.0.0 and prior to version 2.4.6, CUPS logs data of free memory to the logging service AFTER the connection has been closed, when it should have logged the data right before. This is a use-after-free bug that impacts the entire cupsd process. The exact cause of this issue is the function `httpClose(con->http)` being called in `scheduler/client.c`. The problem is that httpClose always, provided its argument is not null, frees the pointer at the end of the call, only for cupsdLogClient to pass the pointer to httpGetHostname. This issue happens in function `cupsdAcceptClient` if LogLevel is warn or higher and in two scenarios: there is a double-lookup for the IP Address (HostNameLookups Double is set in `cupsd.conf`) which fails to resolve, or if CUPS is compiled with TCP wrappers and the connection is refused by rules from `/etc/hosts.allow` and `/etc/hosts.deny`. Version 2.4.6 has a patch for this issue.

