Skip to content
Heist/ feed
Back to feed
High

kafka-python prior to 2.3.2 DoS via SCRAM Iteration Count in scram.py

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-10143
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 19:54 UTC · Revision 1

Source evidence

kafka-python prior to 2.3.2 DoS via SCRAM Iteration Count in scram.py

core-osv · Original source

Published 10 Jun 2026, 20:22 UTC

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.

osv:CVE-2026-10143
Complete source record
{
  "id": "c11ab2fb2f586e8a0ec0334d46b83c5e97d00745880534d7f10a0d5e82f577fd",
  "url": "https://osv.dev/vulnerability/CVE-2026-10143",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "kafka-python prior to 2.3.2 DoS via SCRAM Iteration Count in scram.py",
    "summary": "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.",
    "evidence": "osv:CVE-2026-10143",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-10143",
      "aliases": [
        "CVE-2026-10143",
        "GHSA-2jcm-hq8r-84wx",
        "PYSEC-2026-2191"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/dpkp/kafka-python",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "054b570c971f6747aeb01a130d80f7d156152e13"
                },
                {
                  "fixed": "6e4831444f972d169cdd11f5c8d50333cea3f19b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:dpkp:kafka-python:*:*:*:*:*:python:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.3.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "6e4831444f972d169cdd11f5c8d50333cea3f19b"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.3.1",
            "2.3.0",
            "2.2.13",
            "2.2.12",
            "2.2.11",
            "2.2.10",
            "2.2.9",
            "2.2.8",
            "2.2.7",
            "2.2.6",
            "2.2.5",
            "2.2.4",
            "2.2.3",
            "2.1.5",
            "2.2.2",
            "2.2.1",
            "2.2.0",
            "2.1.4",
            "2.1.3",
            "2.1.2",
            "2.1.1",
            "2.1.0",
            "2.0.5",
            "2.0.4",
            "2.0.3",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "1.4.7",
            "1.4.6",
            "1.4.5",
            "1.4.4",
            "1.4.3",
            "1.4.2",
            "1.4.1",
            "1.4.0",
            "1.3.5",
            "1.3.4",
            "1.3.3",
            "1.3.2",
            "1.3.1",
            "1.3.0",
            "1.2.5",
            "1.2.4",
            "1.2.3",
            "1.2.2",
            "1.2.1",
            "1.2.0",
            "1.1.1",
            "1.1.0",
            "1.0.2",
            "1.0.1",
            "1.0.0",
            "v0.9.5",
            "v0.9.4",
            "v0.9.3",
            "v0.9.2",
            "v0.9.1",
            "v0.9.0",
            "v0.8.0",
            "0.1-alpha"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-10143.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.187846417Z",
      "provider": "osv",
      "references": [
        "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-10143.json",
        "https://access.redhat.com/errata/RHSA-2026:28571",
        "https://access.redhat.com/errata/RHSA-2026:30076",
        "https://access.redhat.com/errata/RHSA-2026:33683",
        "https://access.redhat.com/errata/RHSA-2026:41066",
        "https://access.redhat.com/errata/RHSA-2026:42796",
        "https://access.redhat.com/security/cve/CVE-2026-10143",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/10xxx/CVE-2026-10143.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-10143",
        "https://www.vulncheck.com/advisories/kafka-python-prior-to-dos-via-scram-iteration-count-in-scram-py",
        "https://bugzilla.redhat.com/show_bug.cgi?id=2487722",
        "https://github.com/dpkp/kafka-python/pull/3019",
        "https://github.com/dpkp/kafka-python/pull/3026",
        "https://github.com/dpkp/kafka-python/commit/6e4831444f972d169cdd11f5c8d50333cea3f19b",
        "https://github.com/dpkp/kafka-python"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/10xxx/CVE-2026-10143.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-10143",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489452,
  "published_at": "2026-06-10T20:22:39.262+00:00"
}