CVE-2026-47180·Python vulnerability
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.
- Severity
- medium
- Software
- Python
- Fixed in
- 0.149.5
- Published
- 2026-07-17
Affected versions
Until: 0.149.5
Fixed in: 0.149.5
How to fix this CVE
Update the Python zeroconf package to version 0.149.5 or later to patch a recursive DNS name parsing vulnerability that can cause excessive CPU consumption and service degradation on mDNS-dependent systems. Organizations running zeroconf for service discovery should prioritize this update to prevent denial-of-service conditions triggered by specially crafted mDNS packets on the local network.
sudo dnf update python3-zeroconfDefensia detects this vulnerability
How to check if you are affected
- Check installed zeroconf version: python3 -c "import zeroconf; print(zeroconf.__version__)"
- Verify if zeroconf is active by listing listening UDP sockets: sudo ss -ulnp | grep 5353
- Search system logs for RecursionError patterns: grep -i 'RecursionError\|zeroconf' /var/log/syslog /var/log/messages 2>/dev/null
- Monitor CPU usage during mDNS traffic capture: sudo tcpdump -i any -n udp port 5353 -c 100 and verify system load remains stable
FAQ
What is CVE-2026-47180?
CVE-2026-47180 is a denial-of-service vulnerability in Python's zeroconf library where malformed mDNS packets containing chained DNS compression pointers trigger uncontrolled recursion, exhausting CPU resources and flooding system logs on vulnerable hosts listening for service discovery.
Is CVE-2026-47180 being actively exploited?
No, this vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog and has no known public exploits, though it remains a risk for systems exposed to untrusted local networks.
What versions of Python are affected by CVE-2026-47180?
All versions of the python-zeroconf library prior to 0.149.5 are affected; the vulnerability exists in the DNSIncoming._decode_labels_at_offset function which was redesigned in the patched release.
How do I check if my server is vulnerable to CVE-2026-47180?
Run `python3 -c "import zeroconf; print(zeroconf.__version__)"` and compare against 0.149.5—if your version is lower, your system is vulnerable.
Does Defensia detect CVE-2026-47180?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Python zeroconf is installed on a monitored server, CVE-2026-47180 will appear in your dashboard with remediation steps.
Related Python CVEs
References
- https://github.com/python-zeroconf/python-zeroconf/commit/f9e23592137f30fdf7ef710dba065da31c79b1cf
- https://github.com/python-zeroconf/python-zeroconf/pull/1719
- https://github.com/python-zeroconf/python-zeroconf/releases/tag/0.149.5
- https://github.com/python-zeroconf/python-zeroconf/security/advisories/GHSA-9pgc-3ccv-5297
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-47180. Free for 1 server.
Get started free