🔍 CVE-2025-59529

5.5
CVSS Score
MEDIUM
2025-12-18
2026-10-23 20:17
✅ 완료

🇰🇷 한글 설명

Avahi는 mDNS/DNS-SD 프로토콜을 통해 로컬 네트워크의 서비스 탐색을 지원하는 시스템입니다. 0.9-rc5 이하 버전의 단순 프로토콜 서버는 문서화된 클라이언트 제한(CLIENTS_MAX)을 검사하지 않고 무제한 연결을 수락하여, 로컬 사용자가 쉽게 서비스 거부(DoS) 공격을 수행할 수 있습니다. 소켓 한도 도달 시 연결마다 오류가 무조건 기록되어 시스템 부하도 증가합니다.

💡 쉬운 설명

Avahi 데몬이 연결 수 제한을 확인하지 않아, 로컬 사용자가 많은 연결을 만들어 데몬을 마비시킬 수 있습니다. 이로 인해 네트워크 기기 이름 찾기(*.local) 등 mDNS 기능이 시스템 전체에서 작동하지 않을 수 있습니다.

🇺🇸 원문 (English)

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-rc5, the simple protocol server ignores the documented client limit and accepts unlimited connections, allowing for easy local DoS. Although `CLIENTS_MAX` is defined, `server_work()` unconditionally `accept()`s and `client_new()` always appends the new client and increments `n_clients`. 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.

📍 영향받는 시스템

Avahi 0.9-rc5 이하 버전 (avahi-daemon 사용 Linux 배포판 전반)

⚔️ 공격 벡터

권한이 없는 로컬 사용자가 /run/avahi-daemon/socket 유닉스 소켓에 대량으로 연결을 생성하여 메모리와 파일 디스크립터를 고갈시킴

🛡️ 대응 방법

공식 패치 전까지 소켓 권한 제한, SELinux 등 접근 통제 적용 및 PR 808 후보 수정 적용을 검토하고, 업데이트 시 최신 Avahi 버전으로 갱신

🔧 검증 코드

출력된 버전이 0.9-rc5 이하이면 취약한 것이며, 0.9-rc5보다 높은 패치 버전이면 해당 취약점에서 벗어난 것입니다.

Shell / Script
avahi-daemon --version 2>/dev/null || dpkg -l avahi-daemon 2>/dev/null | grep avahi

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H