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

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).

Published: 2024-06-27 Last update: 2026-06-17 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2024-5642 is rated Moderate Risk (44/100): CVSS Medium severity, with low exploitation likelihood (EPSS 0.74%). Mandatory action: Review affected assets and schedule remediation.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2024-5642

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-06-15 0.19% 0.74% +0.56%
2 2025-11-20 0.87% 0.19% -0.69%
3 2025-11-18 0.87%

Full EPSS history (14 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2024-5642

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
6.5 3.1 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:L)
Some sensitive info could get out, but not a total data dump.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:L)
Might cause slowdowns, glitches, or partial disruption—not a full brick.
3.9 2.5 134c704f-9b21-4f2e-91b3-4a467353bcc0

Weakness enumeration for CVE-2024-5642

OS Trackers for CVE-2024-5642

vendor priority summary link
debian unimportant CVE-2024-5642 unimportant priority: Debian including 5 source packages (pypy3, python2.7, python3.11, python3.13, python3.9), 11 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 8, open 3. https://security-tracker.debian.org/tracker/CVE-2024-5642
redhat low https://access.redhat.com/security/cve/CVE-2024-5642
suse medium CVE-2024-5642 severity moderate: SUSE including 439 source package names (0.0.17-1.1:libpython3_6m1_0-3.6.15-150300.10.72.1, 0.0.17-1.1:python3-3.6.15-150300.10.72.1, …), 1754 product×package rows across 360 product lines (Container bci/bci-sle15-kernel-module-devel, Container bci/kiwi, … (360 product lines)): Fixed 1419, Known Affected 221, Known Not Affected 114. https://www.suse.com/security/cve/CVE-2024-5642/
ubuntu low CVE-2024-5642 low priority: Ubuntu including 10 source packages (python2.7, python3.10, …), 89 status rows across 11 suites (bionic, focal, jammy, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): DNE 60, needs-triage 17, not-affected 8, ignored 2, needed 1, released 1. https://ubuntu.com/security/CVE-2024-5642

Affected software / configurations for CVE-2024-5642

Vendor Product Version Raw CPE
No affected products in dataset.

References for CVE-2024-5642

cvelogic Threat Intelligence