Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. In versions 0.9rc2 and below, avahi-daemon can be crashed via a segmentation fault by sending an unsolicited mDNS response containing a recursive CNAME record, where the alias and canonical name point to the same domain (e.g., h.local as a CNAME for h.local). This causes unbounded recursion in the lookup_handle_cname function, leading to stack exhaustion. The vulnerability affects record browsers where AVAHI_LOOKUP_USE_MULTICAST is set explicitly, which includes record browsers created by resolvers used by nss-mdns. This issue is patched in commit 78eab31128479f06e30beb8c1cbf99dd921e2524, which is part of version 0.9-rc3.
The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Avahi | Avahi | * | 0.9 (excluding) |
| Avahi | Avahi | 0.9-rc1 (including) | 0.9-rc1 (including) |
| Avahi | Avahi | 0.9-rc2 (including) | 0.9-rc2 (including) |
| Red Hat Hardened Images | RedHat | avahi-main-0.9~rc4-0.1.hum1 | * |
| Avahi | Ubuntu | esm-infra-legacy/trusty | * |
| Avahi | Ubuntu | esm-infra-legacy/xenial | * |
| Avahi | Ubuntu | esm-infra/bionic | * |
| Avahi | Ubuntu | esm-infra/focal | * |
| Avahi | Ubuntu | esm-infra/xenial | * |
| Avahi | Ubuntu | jammy | * |
| Avahi | Ubuntu | noble | * |
| Avahi | Ubuntu | questing | * |
| Avahi | Ubuntu | upstream | * |