Skip to main content

kafka-python CVE-2026-10143

| EUVD-2026-36128 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-06-10 VulnCheck
8.7
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.9 MEDIUM

Network-reachable and unauthenticated, but requires attacker to control or MITM the broker connection (AC:H); only availability is impacted via event-loop stall.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

6
Analysis Updated
Jun 10, 2026 - 22:32 vuln.today
v3 (cvss_changed)
Analysis Updated
Jun 10, 2026 - 22:31 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jun 10, 2026 - 22:22 vuln.today
cvss_changed
CVSS changed
Jun 10, 2026 - 22:22 NVD
7.5 (HIGH) 8.7 (HIGH)
Source Code Evidence Fetched
Jun 10, 2026 - 21:17 vuln.today
Analysis Generated
Jun 10, 2026 - 21:17 vuln.today

DescriptionCVE.org

kafka-python prior to 2.3.2 contains a denial-of-service vulnerability in SCRAM authentication handling that allows a malicious or machine-in-the-middle broker to freeze the client event loop by supplying an excessively large iteration count. In scram.py, ScramClient.process_server_first_message() passes the broker-controlled SCRAM iteration count directly to hashlib.pbkdf2_hmac() without validation, blocking producer sends, consumer polls, admin operations, and heartbeats, which can cause consumer group eviction and repeated reconnect failures.

AnalysisAI

Denial of service in kafka-python versions prior to 2.3.2 allows a malicious or man-in-the-middle Kafka broker to freeze the client's event loop during SCRAM authentication by returning an excessive PBKDF2 iteration count. Because ScramClient.process_server_first_message() forwards the broker-supplied value directly to hashlib.pbkdf2_hmac() without bounds checking, producers, consumers, admin clients, and group heartbeats all stall, leading to consumer-group eviction and reconnect loops. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Position rogue/MITM Kafka broker
Delivery
Client opens SASL SCRAM connection
Exploit
Broker returns huge PBKDF2 iteration count
Execution
Client calls hashlib.pbkdf2_hmac on event loop
Persist
CPU-bound hash blocks all I/O callbacks
Impact
Heartbeats miss, consumer evicted, reconnect loop

Vulnerability AssessmentAI

Exploitation Exploitation requires the client to initiate a SASL SCRAM-SHA-256 or SCRAM-SHA-512 handshake against an attacker-controlled or MITM-intercepted broker endpoint - clients using PLAIN, GSSAPI/Kerberos, OAUTHBEARER, or no SASL at all are not on this code path. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N correctly captures a high-availability-only impact reachable without authentication or user interaction, yielding the 8.7 score; confidentiality and integrity are untouched because the malicious broker never completes the SCRAM exchange and gains no key material. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker who can intercept the TCP handshake to the Kafka bootstrap broker (untrusted network, compromised DNS, or rogue broker advertised via a misconfigured listener) terminates the SCRAM handshake with a server-first-message containing an iteration count in the billions. The kafka-python client calls hashlib.pbkdf2_hmac() with that count on its main event loop thread and hangs indefinitely, stalling producer sends, consumer polls, admin operations, and heartbeats until the consumer is evicted from its group. …
Remediation Vendor-released patch: upgrade kafka-python to 2.3.2 or later, which adds an explicit upper bound on the broker-supplied SCRAM iteration count before invoking hashlib.pbkdf2_hmac() and also introduces a receive_message_max_bytes frame-size guard (commit 6e4831444f972d169cdd11f5c8d50333cea3f19b and PRs https://github.com/dpkp/kafka-python/pull/3019 and https://github.com/dpkp/kafka-python/pull/3026). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: audit production and development environments for kafka-python deployment and version (check requirements.txt, setup.py, poetry.lock, pip show, and container images). …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-10143 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy