Use After Free Affecting cups-devel package, versions <1:2.2.6-45.el8_6.4


Severity

Recommended
medium

Based on Red Hat Enterprise Linux security rating

    Threat Intelligence

    EPSS
    0.04% (6th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-RHEL8-CUPSDEVEL-6398602
  • published 6 Mar 2024
  • disclosed 22 Jun 2023

How to fix?

Upgrade RHEL:8 cups-devel to version 1:2.2.6-45.el8_6.4 or higher.
This issue was patched in RHSA-2024:1101.

NVD Description

Note: Versions mentioned in the description apply only to the upstream cups-devel package and not the cups-devel package as distributed by RHEL. See How to fix? for RHEL:8 relevant fixed versions and status.

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-&gt;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.

CVSS Scores

version 3.1
Expand this section

NVD

7.1 high
  • Attack Vector (AV)
    Local
  • Attack Complexity (AC)
    Low
  • Privileges Required (PR)
    Low
  • User Interaction (UI)
    None
  • Scope (S)
    Unchanged
  • Confidentiality (C)
    High
  • Integrity (I)
    None
  • Availability (A)
    High
Expand this section

Red Hat

7.1 high
Expand this section

SUSE

7.1 high