medium6.5
CVE-2026-47183
zeroconf: Unbounded exception-dedup state retains packet buffers via traceback frame locals, enabling LAN-local memory exhaustion
Impact
Zeroconf 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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | zeroconf | < 0.149.6 | 0.149.6 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Paulsm | Zeroconf | before 0.149.6 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-phvx-9mgw-67r5
- https://github.com/python-zeroconf/python-zeroconf/security/advisories/GHSA-phvx-9mgw-67r5
- https://github.com/python-zeroconf/python-zeroconf/issues/1714
- https://github.com/python-zeroconf/python-zeroconf/pull/1717
- https://github.com/python-zeroconf/python-zeroconf/commit/95561e28b24922358f1991e38e3a86d70d72dcec
- https://github.com/python-zeroconf/python-zeroconf/releases/tag/0.149.6