Cloudanix VulnDB

CVE-2024-4741

High · 7.5

CVSS

7.5

EPSS

2.9%

Published

Nov 13, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A rarely used function in OpenSSL can let attackers crash servers or potentially run malicious code, so organizations should update the library even though most applications are not affected.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Denial Of Service
Component
Library
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Calling SSL_free_buffers on a partially processed TLS record frees internal buffers that remain in use, resulting in a use-after-free condition that can corrupt memory, cause denial of service, or enable arbitrary code execution.

Why it matters to the business

Applications that directly invoke the rarely-used SSL_free_buffers function face elevated risk of crashes or remote code execution; most deployments are unaffected but must still verify they do not call the function and apply the patch to eliminate residual exposure.

How an attack unfolds

An attacker sends a TLS record header without the full body or sends a full record but reads only part of the application data, then triggers an application call to SSL_free_buffers while the buffer is still referenced, leading to use-after-free.

How to fix it

Upgrade OpenSSL to the commit 704f725b96aa373ee45ecfb23f6abfe8be8d9177 or later; applications should avoid direct calls to SSL_free_buffers and review any custom TLS buffer-management code.

How to confirm the fix worked

Confirm the installed OpenSSL version or commit contains 704f725b96aa373ee45ecfb23f6abfe8be8d9177; audit source for direct calls to SSL_free_buffers and test with partial-record TLS traffic.

Typical attack path

  1. Establish a TLS connection to the target
  2. Send a partial TLS record header or a full record followed by partial application-data reads
  3. Induce the application to invoke SSL_free_buffers on the connection
  4. Trigger reuse of the now-freed buffer to achieve memory corruption or code execution

How to detect it

Review application source and logs for direct calls to SSL_free_buffers; inspect TLS traffic logs for partial record patterns followed by crashes or unexpected memory behavior; no public exploitation artifacts are known.

What your security team should do

  • Immediately inventory all OpenSSL deployments and identify any code paths that call SSL_free_buffers
  • Apply the fixed commit 704f725b96aa373ee45ecfb23f6abfe8be8d9177 to all affected instances
  • Add static-analysis rules to block future direct use of SSL_free_buffers
  • Monitor vendor advisories for downstream packages that embed the vulnerable OpenSSL version

The record

Issue summary: Calling the OpenSSL API function SSL_free_buffers may cause memory to be accessed that was previously freed in some situations Impact summary: A use after free can have a range of potential consequences such as the corruption of valid data, crashes or execution of arbitrary code. However, only applications that directly call the SSL_free_buffers function are affected by this issue. Applications that do not call this function are not vulnerable. Our investigations indicate that this function is rarely used by applications. The SSL_free_buffers function is used to free the internal OpenSSL buffer used when processing an incoming record from the network. The call is only expected to succeed if the buffer is not currently in use. However, two scenarios have been identified where the buffer is freed even when still in use. The first scenario occurs where a record header has been received from the network and processed by OpenSSL, but the full record body has not yet arrived. In this case calling SSL_free_buffers will succeed even though a record has only been partially processed and the buffer is still in use. The second scenario occurs where a full record containing application data has been received and processed by OpenSSL but the application has only read part of this data. Again a call to SSL_free_buffers will succeed even though the buffer is still in use. While these scenarios could occur accidentally during normal operation a malicious attacker could attempt to engineer a stituation where this occurs. We are not aware of this issue being actively exploited. The FIPS modules in 3.3, 3.2, 3.1 and 3.0 are not affected by this issue.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 openssl 0 1:3.2.2-6.el9_5
AlmaLinux:9 openssl-devel 0 1:3.2.2-6.el9_5
AlmaLinux:9 openssl-libs 0 1:3.2.2-6.el9_5
AlmaLinux:9 openssl-perl 0 1:3.2.2-6.el9_5
Alpine:v3.17 openssl 0 3.0.14-r0
Alpine:v3.18 openssl 0 3.1.6-r0
Alpine:v3.19 openssl 0 3.1.6-r0
Alpine:v3.20 openssl 0 3.3.0-r3
Alpine:v3.21 openssl 0 3.3.0-r3
Alpine:v3.22 openssl 0 3.3.0-r3
Chainguard openssl-provider-fips 0 3.0.9-r1
Debian:11 openssl 0 1.1.1n-0+deb11u6
Debian:11 openssl 0 1.1.1w-0+deb11u2
Debian:12 openssl 0 3.0.14-1~deb12u1
Debian:13 openssl 0 3.2.2-1
Mageia:9 openssl 0 3.0.13-1.1.mga9
Mageia:9 quictls 0 3.0.14-1.1.mga9
Red Hat:enterprise_linux:9::appstream openssl 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::appstream openssl-debuginfo 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::appstream openssl-debugsource 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::appstream openssl-devel 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::appstream openssl-libs 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::appstream openssl-libs-debuginfo 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::appstream openssl-perl 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl-debuginfo 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl-debugsource 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl-devel 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl-libs 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl-libs-debuginfo 0 1:3.2.2-6.el9_5
Red Hat:enterprise_linux:9::baseos openssl-perl 0 1:3.2.2-6.el9_5
Rocky Linux:9 openssl 0 1:3.2.2-6.el9_5.1
Rocky Linux:9 openssl-fips-provider 0 0:3.0.7-6.el9_5
SUSE:Enterprise Storage 7.1 openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS openssl-3 0 3.0.8-150400.4.57.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS openssl-3 0 3.0.8-150400.4.57.1
SUSE:Linux Enterprise Live Patching 15 SP4 openssl-1_1-livepatches 0 0.4-150400.3.11.1
SUSE:Linux Enterprise Live Patching 15 SP5 openssl-1_1-livepatches 0 0.4-150500.6.8.1
SUSE:Linux Enterprise Live Patching 15 SP7 openssl-1_1-livepatches 0 0.5-150700.13.3.1
SUSE:Linux Enterprise Micro 5.1 openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise Micro 5.2 openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise Micro 5.3 openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Linux Enterprise Micro 5.3 openssl-3 0 3.0.8-150400.4.57.1
SUSE:Linux Enterprise Micro 5.4 openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Linux Enterprise Micro 5.4 openssl-3 0 3.0.8-150400.4.57.1
SUSE:Linux Enterprise Micro 5.5 openssl-1_1 0 1.1.1l-150500.17.31.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 openssl-1_1 0 1.1.1l-150500.17.31.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 openssl-3 0 3.0.8-150500.5.36.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 openssl-1_1 0 1.1.1w-150600.5.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 openssl-3 0 3.1.4-150600.5.7.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 openssl-1_1 0 1.1.1w-150600.5.3.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 openssl-1_1 0 1.1.1w-150600.5.3.1
SUSE:Linux Enterprise Server 12 SP5 openssl-1_1 0 1.1.1d-2.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise Server 15 SP3-LTSS openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise Server 15 SP4-LTSS openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Linux Enterprise Server 15 SP4-LTSS openssl-3 0 3.0.8-150400.4.57.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 openssl-1_1 0 1.1.1d-2.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 openssl-1_1 0 1.1.1d-150200.11.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 openssl-3 0 3.0.8-150400.4.57.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 openssl-1_1 0 1.1.1d-2.107.1
SUSE:Manager Proxy 4.3 openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Manager Proxy 4.3 openssl-3 0 3.0.8-150400.4.57.1
SUSE:Manager Server 4.3 openssl-1_1 0 1.1.1l-150400.7.69.1
SUSE:Manager Server 4.3 openssl-3 0 3.0.8-150400.4.57.1
Ubuntu:20.04:LTS edk2 0 No fix
Ubuntu:20.04:LTS openssl 0 1.1.1f-1ubuntu2.23
Ubuntu:22.04:LTS edk2 0 No fix
Ubuntu:22.04:LTS edk2 0 2022.02-3ubuntu0.22.04.4
Ubuntu:22.04:LTS nodejs 0 No fix
Ubuntu:22.04:LTS openssl 0 3.0.2-0ubuntu1.17
Ubuntu:24.04:LTS edk2 0 No fix
Ubuntu:24.04:LTS edk2 0 2024.02-2ubuntu0.6
Ubuntu:24.04:LTS openssl 0 3.0.13-0ubuntu3.2
Ubuntu:24.10 edk2 0 No fix
Ubuntu:24.10 openssl 0 3.2.2-1ubuntu1
Ubuntu:Pro:14.04:LTS openssl 0 No fix
Ubuntu:Pro:16.04:LTS edk2 0 No fix
Ubuntu:Pro:16.04:LTS nodejs 0 No fix
Ubuntu:Pro:16.04:LTS openssl 0 No fix
Ubuntu:Pro:18.04:LTS edk2 0 No fix
Ubuntu:Pro:18.04:LTS nodejs 0 No fix
Ubuntu:Pro:18.04:LTS openssl 0 No fix
Ubuntu:Pro:20.04:LTS edk2 0 No fix
Ubuntu:Pro:22.04:LTS nodejs 0 No fix
Ubuntu:Pro:FIPS-preview:22.04:LTS openssl 0 No fix
Ubuntu:Pro:FIPS-preview:22.04:LTS openssl-fips 0 No fix
Ubuntu:Pro:FIPS-updates:18.04:LTS openssl 0 No fix
Ubuntu:Pro:FIPS-updates:22.04:LTS openssl 0 3.0.2-0ubuntu1.17+Fips1
Ubuntu:Pro:FIPS-updates:22.04:LTS openssl-fips 0 No fix
Ubuntu:Pro:FIPS-updates:24.04:LTS openssl-fips 0 3.0.13-0ubuntu3.6+Fips1
Ubuntu:Pro:FIPS:16.04:LTS openssl 0 No fix
Ubuntu:Pro:FIPS:18.04:LTS openssl 0 No fix
Ubuntu:Pro:FIPS:20.04:LTS openssl 0 No fix
openSUSE:Leap 15.5 openssl-1_1 0 1.1.1l-150500.17.31.1
openSUSE:Leap 15.5 openssl-3 0 3.0.8-150500.5.36.1
openSUSE:Leap 15.6 openssl-1_1 0 1.1.1w-150600.5.3.1
openSUSE:Leap 15.6 openssl-3 0 3.1.4-150600.5.7.1
openSUSE:Leap Micro 5.3 openssl-1_1 0 1.1.1l-150400.7.69.1
openSUSE:Leap Micro 5.3 openssl-3 0 3.0.8-150400.4.57.1
openSUSE:Leap Micro 5.4 openssl-1_1 0 1.1.1l-150400.7.69.1
openSUSE:Leap Micro 5.4 openssl-3 0 3.0.8-150400.4.57.1
openSUSE:Tumbleweed openssl-1_1 0 1.1.1w-11.1
openSUSE:Tumbleweed openssl-3 0 3.1.4-11.1

Related vulnerabilities