What’s Vulnerable › Vulnerabilities

CVE-2024-5642: Buffer overread when using an empty list with SSLContext.set_npn_protocols()

Description

CPython 3.9 and earlier doesn't disallow configuring an empty list ("[]") for SSLContext.set_npn_protocols() which is an invalid value for the underlying OpenSSL API. This results in a buffer over-read when NPN is used (see CVE-2024-5535 for OpenSSL). This vulnerability is of low severity due to NPN being not widely used and specifying an empty list likely being uncommon in-practice (typically a protocol name would be configured).

Affected products

How to fix

Upgrade to a fixed version: Python 3.10.0b1, 3.9.24. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2024-5642 or the next vulnerability affects your stack