Bug 2283757 (CVE-2024-4741)

Summary: CVE-2024-4741 openssl: Use After Free with SSL_free_buffers
Product: [Other] Security Response Reporter: ybuenos
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: ahrabovs, akostadi, amasferr, aucunnin, bdettelb, caswilli, cbartlet, chazlett, crizzo, csutherl, dfreiber, dkuc, dmayorov, doconnor, drow, fjansen, hkataria, jburrell, jcantril, jclere, jdobes, jlledo, jmitchel, jsamir, jsherril, jtanner, jvasik, kaycoth, kholdawa, kshier, kyoshida, lcouzens, mkudlej, mmakovy, mskarbek, mstoklus, orabin, pjindal, plodge, psegedy, rblanco, rojacob, sidakwo, sthirugn, szappis, teagle, tjochec, vkrizan, vkumar, vmugicag
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: openssl 3.3.1, openssl 3.2.2, openssl 3.1.6, openssl 3.0.14, openssl 1.1.1y Doc Type: If docs needed, set a value
Doc Text:
A use-after-free vulnerability was found in OpenSSL. Calling the OpenSSL API SSL_free_buffers function may cause memory to be accessed that was previously freed in some situations.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2283762, 2283763, 2283764, 2283765, 2283766, 2283767, 2283768, 2283769, 2283770, 2283771, 2283772, 2283773, 2283774, 2283775, 2283776, 2283777, 2283778, 2283779    
Bug Blocks: 2283780    

Description ybuenos 2024-05-29 09:07:59 UTC
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.

OpenSSL 1.0.2 is also not affected by this issue.

OpenSSL 3.3, 3.2, 3.1, 3.0 and 1.1.1 are vulnerable to this issue.

OpenSSL 3.3 users should upgrade to OpenSSL 3.3.1 once it is released.

OpenSSL 3.2 users should upgrade to OpenSSL 3.2.2 once it is released.

OpenSSL 3.1 users should upgrade to OpenSSL 3.1.6 once it is released.

OpenSSL 3.0 users should upgrade to OpenSSL 3.0.14 once it is released.

OpenSSL 1.1.1 users should upgrade to OpenSSL 1.1.1y once it is released
(premium support customers only).

Due to the low severity of this issue we are not issuing new releases of
OpenSSL at this time. The fix will be included in the next releases when they
become available. The fix is also available in commit e5093133c3 (for 3.3),
commit c88c3de510 (for 3.2), commit 704f725b96 (for 3.1) and commit b3f0eb0a29
(for 3.0) in the OpenSSL git repository. It is available to premium support
customers in commit f7a045f314 (for 1.1.1).

This issue was reported on 10th April 2024 by William Ahern (Akamai). The fix
was developed by Matt Caswell and Watson Ladd (Akamai).

Comment 1 ybuenos 2024-05-29 09:24:40 UTC
Created edk2 tracking bugs for this issue:

Affects: fedora-39 [bug 2283764]
Affects: fedora-40 [bug 2283768]


Created mingw-openssl tracking bugs for this issue:

Affects: fedora-39 [bug 2283765]
Affects: fedora-40 [bug 2283769]


Created openssl tracking bugs for this issue:

Affects: fedora-39 [bug 2283766]
Affects: fedora-40 [bug 2283770]


Created openssl1.1 tracking bugs for this issue:

Affects: fedora-39 [bug 2283767]


Created openssl11 tracking bugs for this issue:

Affects: epel-7 [bug 2283762]


Created openssl3 tracking bugs for this issue:

Affects: epel-8 [bug 2283763]

Comment 2 ybuenos 2024-05-29 09:26:49 UTC
Created edk2 tracking bugs for this issue:

Affects: fedora-39 [bug 2283773]
Affects: fedora-40 [bug 2283777]


Created mingw-openssl tracking bugs for this issue:

Affects: fedora-39 [bug 2283774]
Affects: fedora-40 [bug 2283778]


Created openssl tracking bugs for this issue:

Affects: fedora-39 [bug 2283775]
Affects: fedora-40 [bug 2283779]


Created openssl1.1 tracking bugs for this issue:

Affects: fedora-39 [bug 2283776]


Created openssl11 tracking bugs for this issue:

Affects: epel-7 [bug 2283771]


Created openssl3 tracking bugs for this issue:

Affects: epel-8 [bug 2283772]

Comment 9 errata-xmlrpc 2024-11-12 09:34:17 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2024:9333 https://access.redhat.com/errata/RHSA-2024:9333