{"id":"CVE-2024-5642","title":"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","summary":"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…","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L","published":"2024-06-27","updated":"2026-07-31","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2024-5642","references":[{"url":"http://www.openwall.com/lists/oss-security/2024/06/28/4","label":"cna@python.org"},{"url":"https://github.com/python/cpython/commit/39258d3595300bc7b952854c915f63ae2d4b9c3e","label":"cna@python.org"},{"url":"https://github.com/python/cpython/commit/a2cdbb6e8188ba9ba8b356b28d91bff60e86fe31","label":"cna@python.org"},{"url":"https://github.com/python/cpython/issues/121227","label":"cna@python.org"},{"url":"https://github.com/python/cpython/pull/23014","label":"cna@python.org"},{"url":"https://jbp.io/2024/06/27/cve-2024-5535-openssl-memory-safety.html","label":"cna@python.org"},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/PLP2JI3PJY33YG6P5BZYSSNU66HASXBQ/","label":"cna@python.org"},{"url":"https://security.netapp.com/advisory/ntap-20240726-0005/","label":"cna@python.org"},{"url":"http://www.openwall.com/lists/oss-security/2024/06/28/4","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://github.com/python/cpython/commit/39258d3595300bc7b952854c915f63ae2d4b9c3e","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://github.com/python/cpython/issues/121227","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://github.com/python/cpython/pull/23014","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://jbp.io/2024/06/27/cve-2024-5535-openssl-memory-safety.html","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/PLP2JI3PJY33YG6P5BZYSSNU66HASXBQ/","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://security.netapp.com/advisory/ntap-20240726-0005/","label":"af854a3a-2127-422b-91ae-364da2661108"}],"tags":["nvd"],"epss":0.00744,"epssPercentile":0.53276,"ingestedAt":"2026-07-31T15:59:52.003Z","slug":"CVE-2024-5642","body":"## Overview\n\nCPython 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).\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}