Description
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.
Problem types
CWE-400 Uncontrolled Resource Consumption
Product status
Any version before 2.3.2
Credits
Katriel Moses
References
github.com/dpkp/kafka-python/pull/3019
github.com/...ommit/6e4831444f972d169cdd11f5c8d50333cea3f19b
github.com/dpkp/kafka-python/pull/3026
www.vulncheck.com/...s-via-scram-iteration-count-in-scram-py