Description
Zeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.12, AsyncListener.handle_query_or_defer retained every truncated TC-bit incoming query, each up to _MAX_MSG_ABSOLUTE = 8966 bytes, in self._deferred[addr] and armed a per-address timer in self._timers[addr] without capping the per-address list or distinct addr keys, allowing unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb) to spoof sources, grow _deferred and _timers, and cause memory exhaustion and quadratic CPU burn. This issue is fixed in version 0.149.12.
Published: 2026-07-17
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

AsyncListener.handle_query_or_defer in the python‑zeroconf library retained every truncated TC‑bit upstream query, up to 8,966 bytes each, in its internal _deferred queue and armed per‑address timers, without capping the per‑address list or distinct address keys. This allowed an unauthenticated host on the local network, via UDP port 5353, to spoof source addresses and flood the service with such packets. The resulting unbounded accumulation of queued messages and timers can exhaust available memory and cause quadratic CPU usage, effectively denying service to legitimate users on the local link. The flaw is classified as CWE‑770 (Uncontrolled Resource Consumption) and was fixed in version 0.149.12.

Affected Systems

The vulnerability was present in all releases of the python‑zeroconf library prior to version 0.149.12. System administrators using the python‑zeroconf:python‑zeroconf implementation, regardless of the host platform, are potentially exposed. Updating to 0.149.12 or a later release resolves the issue.

Risk and Exploitability

With a CVSS score of 6.5 the vulnerability poses a moderate risk. The EPSS score is less than 1 %, indicating a very low probability of exploitation in the general population. The issue has not been listed in the CISA KEV catalog. The attack vector is local network traffic over UDP port 5353 (mDNS/multicast). An attacker only needs to send crafted UDP packets from a local address and can do so without authentication or elevated privileges. The exploit cost is low, but the impact is significant for the affected system.

Generated by OpenCVE AI on July 30, 2026 at 23:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade python‑zeroconf to version 0.149.12 or later.
  • Limit mDNS traffic or isolate untrusted networks to reduce the impact of local spoofed packets.
  • Monitor memory and CPU usage on machines running python‑zeroconf for anomalous spikes.

Generated by OpenCVE AI on July 30, 2026 at 23:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9663-mqmp-p9mm python-zeroconf: Unbounded TC-deferred queue allows LAN-local memory exhaustion via spoofed-source flood
History

Wed, 29 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Python-zeroconf
Python-zeroconf python-zeroconf
Vendors & Products Python-zeroconf
Python-zeroconf python-zeroconf

Fri, 17 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 17 Jul 2026 18:45:00 +0000

Type Values Removed Values Added
Description Zeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.12, AsyncListener.handle_query_or_defer retained every truncated TC-bit incoming query, each up to _MAX_MSG_ABSOLUTE = 8966 bytes, in self._deferred[addr] and armed a per-address timer in self._timers[addr] without capping the per-address list or distinct addr keys, allowing unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb) to spoof sources, grow _deferred and _timers, and cause memory exhaustion and quadratic CPU burn. This issue is fixed in version 0.149.12.
Title Zeroconf: Unbounded TC-deferred queue allows LAN-local memory exhaustion via spoofed-source flood
Weaknesses CWE-770
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Python-zeroconf Python-zeroconf
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T19:21:38.396Z

Reserved: 2026-05-20T18:15:53.578Z

Link: CVE-2026-48045

cve-icon Vulnrichment

Updated: 2026-07-17T19:21:34.875Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-17T18:26:19Z

Links: CVE-2026-48045 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T00:00:06Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling