Description
Zeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.5, DNSIncoming._decode_labels_at_offset recurses once per DNS-name compression pointer, and a single mDNS packet carrying chained pointers can trigger a RecursionError that escapes DNSIncoming.__init__, causing sustained CPU burn, log flooding, and degraded mDNS-dependent features for unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb). This issue is fixed in version 0.149.5.
Published: 2026-07-17
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Zeroconf is a pure Python implementation of multicast DNS service discovery. Unbounded recursion in its DNS compression‑pointer decoder causes a RecursionError when a single malformed mDNS packet with chained pointers is processed. The error propagates out of DNSIncoming.__init__, leading to sustained CPU burn, log flooding, and degraded mDNS‑dependent features for unauthenticated hosts on the local link via UDP/5353 (224.0.0.251 / ff02::fb). The flaw is exploitable by any host on the same local network and requires no authentication. Prior to version 0.149.5, DNSIncoming._decode_labels_at_offset recursed once per compression pointer; a single packet with chained pointers triggers the RecursionError. The issue is fixed in 0.149.5.

Affected Systems

The affected package is the pure‑Python Zeroconf library. All versions prior to 0.149.5 contain the flaw. The legacy implementation is used by applications that rely on multicast DNS service discovery over UDP port 5353 on the local network.

Risk and Exploitability

The CVSS score of 6.5 indicates a moderate severity. The EPSS score is below 1 %, suggesting a low probability of exploitation in the wild, and it is not listed in the CISA KEV catalog. Nevertheless the attack vector is local: any unauthenticated host on the same subnet can send a crafted packet to trigger the recursion and exhaust local resources, which may disable discovery for other services.

Generated by OpenCVE AI on August 3, 2026 at 02:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update python-zeroconf to version 0.149.5 or later
  • If an immediate upgrade is not feasible, block or filter UDP traffic on port 5353 to limit exposure to local hosts
  • As a temporary measure, monitor system logs for RecursionError messages and elevated CPU usage, and disable mDNS services if they are not needed

Generated by OpenCVE AI on August 3, 2026 at 02:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9pgc-3ccv-5297 zeroconf has unbounded recursion in DNS compression-pointer decoder that allows LAN-local denial of service
History

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

Type Values Removed Values Added
Weaknesses CWE-835
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

Sat, 18 Jul 2026 17: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.5, DNSIncoming._decode_labels_at_offset recurses once per DNS-name compression pointer, and a single mDNS packet carrying chained pointers can trigger a RecursionError that escapes DNSIncoming.__init__, causing sustained CPU burn, log flooding, and degraded mDNS-dependent features for unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb). This issue is fixed in version 0.149.5.
Title Zeroconf: Unbounded recursion in DNS compression-pointer decoder allows LAN-local denial of service
Weaknesses CWE-674
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:29.700Z

Reserved: 2026-05-18T22:07:37.434Z

Link: CVE-2026-47180

cve-icon Vulnrichment

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

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-17T18:21:25Z

Links: CVE-2026-47180 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T02:45:03Z

Weaknesses
  • CWE-674

    Uncontrolled Recursion

  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')