{"schema_version":"1.7.2","id":"OESA-2026-3292","modified":"2026-08-07T02:44:32Z","published":"2026-08-07T02:44:32Z","upstream":["CVE-2026-47180","CVE-2026-47183","CVE-2026-47184","CVE-2026-48045"],"summary":"python-zeroconf security update","details":"Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)\r\n\r\nSecurity Fix(es):\n\nZeroconf 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.(CVE-2026-47180)\n\nZeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.6, DNSIncoming._log_exception_debug and the four QuietLogger exception-dedup methods stored an unbounded _seen_logs dictionary keyed by attacker-influenced IncomingDecodeError messages, retaining sys.exc_info() tracebacks whose frame locals kept raw packet self.data buffers and allowing unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb) to drive memory growth until mDNS-dependent features degrade or the process is OOM-killed. This issue is fixed in version 0.149.6.(CVE-2026-47183)\n\nZeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.7, DNSCache._async_add inserted every response record into cache, _expirations, _expire_heap, and service_cache without a cap, allowing unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb) to multicast valid mDNS responses with unique names and cause memory exhaustion, slower cache lookups, slower async_expire passes, and broken discovery, registration, and ServiceBrowser callbacks. This issue is fixed in version 0.149.7.(CVE-2026-47184)\n\nZeroconf 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.(CVE-2026-48045)","affected":[{"package":{"ecosystem":"openEuler:24.03-LTS-SP3","name":"python-zeroconf","purl":"pkg:rpm/openEuler/python-zeroconf&distro=openEuler-24.03-LTS-SP3"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.136.0-1.oe2403sp3"}]}],"ecosystem_specific":{"noarch":["python-zeroconf-help-0.136.0-1.oe2403sp3.noarch.rpm","python3-zeroconf-0.136.0-1.oe2403sp3.noarch.rpm"],"src":["python-zeroconf-0.136.0-1.oe2403sp3.src.rpm"]}}],"references":[{"type":"ADVISORY","url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3292"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47180"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47183"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47184"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48045"}],"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}],"database_specific":{"severity":"Medium"}}
