CVE-2025-59529: simple protocol server ignores accepts unlimited connections and logs failures without limit
Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. In versions up to and including 0.9-rc2, the simple protocol server ignores the documented client limit and accepts unlimited connections, allowing for easy local DoS. Although CLIENTSMAX is defined, serverwork() unconditionally accept()s and clientnew() always appends the new client and increments nclients. There is no check against the limit. When client cannot be accepted as a result of maximal socket number of avahi-daemon, it logs unconditionally error per each connection. Unprivileged local users can exhaust daemon memory and file descriptors, causing a denial of service system-wide for mDNS/DNS-SD. Exhausting local file descriptors causes increased system load caused by logging errors of each of request. Overloading prevents glibc calls using nss-mdns plugins to resolve .local. names and link-local addresses. As of time of publication, no known patched versions are available, but a candidate fix is available in pull request 808, and some workarounds are available. Simple clients are offered for nss-mdns package functionality. It is not possible to disable the unix socket /run/avahi-daemon/socket, but resolution requests received via DBus are not affected directly. Tools avahi-resolve, avahi-resolve-address and avahi-resolve-host-name are not affected, they use DBus interface. It is possible to change permissions of unix socket after avahi-daemon is started. But avahi-daemon does not provide any configuration for it. Additional access restrictions like SELinux can also prevent unwanted tools to access the socket and keep resolution working for trusted users.
Other sources
simple protocol server ignores accepts unlimited connections and logs failures without limit
— Microsoft
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch 808 - Configuration
After avahi-daemon is started, change the permissions of the unix socket /run/avahi-daemon/socket so that only trusted users/services can access it.
Avahi unix socket /run/avahi-daemon/socket socket permissions = restrict to trusted users/services - Compensating control
Use additional access restrictions (e.g., SELinux) to prevent unwanted tools from accessing the unix socket and to keep resolution working for trusted users.
- Compensating control
Overload mitigation: prevent unprivileged local users from exhausting daemon memory/file descriptors (e.g., by restricting access to the affected simple protocol server path), so glibc calls using nss-mdns plugins to resolve *.local. names and link-local addresses are not impeded.
Event History
Frequently Asked Questions
What is the severity of CVE-2025-59529?
CVE-2025-59529 has been classified with a high severity due to its potential to allow local denial of service (DoS) attacks.
How do I fix CVE-2025-59529?
To mitigate CVE-2025-59529, upgrade to a version of Avahi later than 0.9-rc2 which addresses the issue.
What is the impact of CVE-2025-59529?
The impact of CVE-2025-59529 allows attackers to exploit the vulnerability by making unlimited connections to the simple protocol server, leading to service disruption.
Which versions of Avahi are affected by CVE-2025-59529?
Avahi versions up to and including 0.9-rc2 are affected by CVE-2025-59529.
Is CVE-2025-59529 specific to any operating systems?
CVE-2025-59529 is not specific to any operating systems; it affects any system running the vulnerable versions of Avahi.