CVE-2024-5642
Buffer overread when using an empty list with SSLContext.set_npn_protocols()
- State
- Published
- Severity
- 6.5 Medium
- Published
- Jun 27, 2024
- Updated
- Jul 31, 2026
- Reserved
- Jun 4, 2024
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).
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 6.5 Medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L | CISA-ADP |
Weaknesses
The record names no weakness.
Affected Products
| Product | Versions |
|---|---|
CPythonPython Software Foundation |
|
References
- https://jbp.io/2024/06/27/cve-2024-5535-openssl-memory-safety.htmlthird-party-advisory
- https://github.com/python/cpython/pull/23014mitigation
- https://mail.python.org/archives/list/security-announce@python.org/thread/PLP2JI3PJY33YG6P5BZYSSNU66HASXBQ/vendor-advisory
- https://github.com/python/cpython/commit/39258d3595300bc7b952854c915f63ae2d4b9c3epatch
- http://www.openwall.com/lists/oss-security/2024/06/28/4
- https://github.com/python/cpython/issues/121227issue-tracking
- https://security.netapp.com/advisory/ntap-20240726-0005/
- https://github.com/python/cpython/commit/a2cdbb6e8188ba9ba8b356b28d91bff60e86fe31patch
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.