CVE-2023-34241 CUPS vulnerable to use-after-free in cupsdAcceptClient()
A use-after-free in CUPS allows attackers to crash the service or potentially execute code when specific logging and network configurations are enabled.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-34241?
CVE-2023-34241 is a medium-severity use after free vulnerability in Apple Macos, published on 22 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-416
Which versions are affected by CVE-2023-34241?
It affects 4 products.
Linux distribution packages (27)
cups SUSE:Enterprise Storage 7 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Enterprise Storage 7.1 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Micro 5.2 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Micro 5.3 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Micro 5.4 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Module for Basesystem 15 SP4 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Module for Basesystem 15 SP5 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Module for Development Tools 15 SP4 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Module for Development Tools 15 SP5 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Real Time 15 SP3 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Server 15 SP1-LTSS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Server 15 SP2-LTSS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Server 15 SP3-LTSS | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Manager Proxy 4.2 | All versions | 2.2.7-150000.3.46.1 |
cups SUSE:Manager Server 4.2 | All versions | 2.2.7-150000.3.46.1 |
cups openSUSE:Leap 15.4 | All versions | 2.2.7-150000.3.46.1 |
cups openSUSE:Leap 15.5 | All versions | 2.2.7-150000.3.46.1 |
cups openSUSE:Leap Micro 5.3 | All versions | 2.2.7-150000.3.46.1 |
cups openSUSE:Tumbleweed | All versions | 2.4.2-6.1 |
Products include Apple Macos, Debian Debian Linux, Fedoraproject Fedora, Openprinting Cups.
How do I fix CVE-2023-34241?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2023-34241 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-34241 exists.
Other vulnerabilities in Apple Macos
Sources
Also known as ALPINE-CVE-2023-34241, AZL-37074, AZL-37099, CLSA-2023-1689008452, CLSA-2023-1689008977, CLSA-2023-1689258794 and 12 more.