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).
CVE ID: CVE-2024-5642
Vendor: Python Software Foundation
Product: CPython
EPSS Score: 0.04% (probability of being exploited)
EPSS Percentile: 12.91% (scored less or equal to compared to others)
EPSS Date: 2025-03-14 (when was this score calculated)