OpenSSL: Out-of-bounds Read
CVE-2024-5535 is a critical-severity out-of-bounds read vulnerability in OpenSSL, with a CVSS 3.1 base score of 9.1 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. The record lists versions 3.3.2, 3.2.3, 3.1.7 as the first without the flaw, so updating OpenSSL to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 6.13% chance of exploitation within 30 days, which is in the top 6.44% of all scored CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Update OpenSSL to 3.3.2 or 3.2.3 or 3.1.7 or 3.0.15, whichever matches your release line, or a later version.
- Update RUGGEDCOM RST2428P to V3.1 or a later version.
- Update SCALANCE XCM-/XRM-/XCH-/XRH-300 family to V3.1 or a later version.
- Read the advisory on openssl.org for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| OpenSSL | OpenSSL | 3.3.0 up to, but not including, 3.3.2; 3.2.0 up to, but not including, 3.2.3; 3.1.0 up to, but not including, 3.1.7; 3.0.0 up to, but not including, 3.0.15; 1.1.1 up to, but not including, 1.1.1za; 1.0.2 up to, but not including, 1.0.2zk | 3.3.2, 3.2.3, 3.1.7, 3.0.15, 1.1.1za, 1.0.2zk |
| Siemens | RUGGEDCOM RST2428P | before V3.1 | V3.1 |
| Siemens | SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family | Not specified in the record | Not stated |
| Siemens | SCALANCE XCM-/XRM-/XCH-/XRH-300 family | before V3.1 | V3.1 |
| Siemens | SIDIS Prime | before V4.0.700 | V4.0.700 |
| Siemens | SIMATIC S7-1500 CPU 1518-4 PN/DP MFP | V3.1.0 up to, but not including, V3.1.5 | V3.1.5 |
| Siemens | SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP | V3.1.0 up to, but not including, V3.1.5 | V3.1.5 |
| Siemens | SIMATIC S7-1500 TM MFP - GNU/Linux subsystem | before V1.1.1 | V1.1.1 |
| Siemens | SIPLUS S7-1500 CPU 1518-4 PN/DP MFP | V3.1.0 up to, but not including, V3.1.5 | V3.1.5 |
| Debian | Debian Linux | 11.0 | Not stated |
| NetApp | Active Iq Unified Manager | Not specified in the record | Not stated |
| NetApp | Management Services For Element Software And Netapp Hci | Not specified in the record | Not stated |
| NetApp | Oncommand Insight | Not specified in the record | Not stated |
| NetApp | Oncommand Workflow Automation | Not specified in the record | Not stated |
| NetApp | Ontap Select Deploy Administration Utility | Not specified in the record | Not stated |
| NetApp | Ontap Tools | Not specified in the record | Not stated |
| NetApp | Snapcenter | before 6.0.1 | 6.0.1 |
| NetApp | Snapmanager | Not specified in the record | Not stated |
| NetApp | Bootstrap OS | Not specified in the record | Not stated |
| NetApp | A250 Firmware | Not specified in the record | Not stated |
| NetApp | 500f Firmware | Not specified in the record | Not stated |
| NetApp | C250 Firmware | Not specified in the record | Not stated |
| NetApp | H300s Firmware | Not specified in the record | Not stated |
| NetApp | H500s Firmware | Not specified in the record | Not stated |
| NetApp | H700s Firmware | Not specified in the record | Not stated |
Version data comes from the organisation that assigned the CVE; 18 further products are omitted here. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- NoneNothing can be modified.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H. Scored by CISA (ADP).
Official description
Issue summary: Calling the OpenSSL API function SSL_select_next_proto with an empty supported client protocols buffer may cause a crash or memory contents to be sent to the peer. Impact summary: A buffer overread can have a range of potential consequences such as unexpected application beahviour or a crash. In particular this issue could result in up to 255 bytes of arbitrary private data from memory being sent to the peer leading to a loss of confidentiality. However, only applications that directly call the SSL_select_next_proto function with a 0 length list of supported client protocols are affected by this issue. This would normally never be a valid scenario and is typically not under attacker control but may occur by accident in the case of a configuration or programming error in the calling application. The OpenSSL API function SSL_select_next_proto is typically used by TLS applications that support ALPN (Application Layer Protocol Negotiation) or NPN (Next Protocol Negotiation). NPN is older, was never standardised and is deprecated in favour of ALPN. We believe that ALPN is significantly more widely deployed than NPN. The SSL_select_next_proto function accepts a list of protocols from the server and a list of protocols from the client and returns the first protocol that appears in the server list that also appears in the client list. In the case of no overlap between the two lists it returns the first item in the client list. In either case it will signal whether an overlap between the two lists was found. In the case where SSL_select_next_proto is called with a zero length client list it fails to notice this condition and returns the memory immediately following the client list pointer (and reports that there was no overlap in the lists). This function is typically called from a server side application callback for ALPN or a client side application callback for NPN. In the case of ALPN the list of protocols supplied by the client is guaranteed by libssl to never be zero in length. The list of server protocols comes from the application and should never normally be expected to be of zero length. In this case if the SSL_select_next_proto function has been called as expected (with the list supplied by the client passed in the client/client_len parameters), then the application will not be vulnerable to this issue. If the application has accidentally been configured with a zero length server list, and has accidentally passed that zero length server list in the client/client_len parameters, and has additionally failed to correctly handle a "no overlap" response (which would normally result in a handshake failure in ALPN) then it will be vulnerable to this problem. In the case of NPN, the protocol permits the client to opportunistically select a protocol when there is no overlap. OpenSSL returns the first client protocol in the no overlap case in support of this. The list of client protocols comes from the application and should never normally be expected to be of zero length. However if the SSL_select_next_proto function is accidentally called with a client_len of 0 then an invalid memory pointer will be returned instead. If the application uses this output as the opportunistic protocol then the loss of confidentiality will occur. This issue has been assessed as Low severity because applications are most likely to be vulnerable if they are using NPN instead of ALPN - but NPN is not widely used. It also requires an application configuration or programming error. Finally, this issue would not typically be under attacker control making active exploitation unlikely. The FIPS modules in 3.3, 3.2, 3.1 and 3.0 are not affected by this issue. 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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Out-of-bounds Read
The product reads data past the end, or before the beginning, of the intended buffer.
How developers prevent this class of flaw
- Use a language that provides appropriate memory abstractions.
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Advisories
Patches and release notes
- github.com/openssl/openssl/commit/4ada436a1946cbb24db5ab4ca082b69c1bc10f37
- github.com/openssl/openssl/commit/99fb785a5f85315b95288921a321a935ea29a51e
- github.com/openssl/openssl/commit/cf6f91f6121f4db167405db2f0de410a456f260c
- github.com/openssl/openssl/commit/e86ac436f0bd54d4517745483e2315650fae7b2c
- github.openssl.org/openssl/extended-releases/commit/9947251413065a05189a63c9b7a6c1d4e224c21cPermissions Required
- github.openssl.org/openssl/extended-releases/commit/b78ec0824da857223486660177d3b1f255c65d87Permissions Required
Third-party and government advisories
- openwall.com/lists/oss-security/2024/06/27/1Mailing List, Third Party Advisory
- openwall.com/lists/oss-security/2024/06/28/4Mailing List, Third Party Advisory
- openwall.com/lists/oss-security/2024/08/15/1Mailing List, Third Party Advisory
- lists.debian.org/debian-lts-announce/2024/10/msg00033.htmlMailing List, Third Party Advisory
- lists.debian.org/debian-lts-announce/2024/11/msg00000.htmlMailing List, Third Party Advisory
- security.netapp.com/advisory/ntap-20240712-0005/Third Party Advisory
- security.netapp.com/advisory/ntap-20241025-0006/Third Party Advisory
- security.netapp.com/advisory/ntap-20241025-0010/Third Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-265688.htmlThird Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-277137.htmlThird Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-398330.htmlThird Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-613116.htmlThird Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-769027.htmlThird Party Advisory
- cert-portal.siemens.com/productcert/html/ssa-915275.htmlThird Party Advisory
Other vulnerabilities in OpenSSL
- 7.5 High severity
- 7.5 High severity
- 8.2 High severity
- 7.5 High severity
- 7.5 High severity
- 9.1 Critical severity
Recent Out-of-bounds Read vulnerabilities
- 7.1 High severity
- 7.1 High severity
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
Spotted an error? Tell us.