CVE-2026-47184
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
Zeroconf to czysta implementacja Python multicast DNS service discovery. Przed wersją 0.149.7, funkcja DNSCache._async_add wstawiała każdy rekord odpowiedzi do pamięci podręcznej bez ograniczeń, umożliwiając nieuwierzytelnionym hostom w sieci lokalnej przez UDP/5353 wysyłanie poprawnych odpowiedzi mDNS z unikalnymi nazwami, co prowadziło do wyczerpania pamięci, wolniejszego wyszukiwania w pamięci podręcznej i zakłócenia działania usług.
Ocena ryzyka
Ryzyko obejmuje wyczerpanie pamięci, degradację wydajności oraz zakłócenie działania funkcji wykrywania usług i rejestracji.
Rekomendacja
Zaleca się aktualizację biblioteki Zeroconf do wersji 0.149.7 lub nowszej.
Inne podatności w Zeroconf
Zobacz wszystkie- CVE-2026-48487Średnie
W bibliotece Zeroconf przed wersją 0.149.16, funkcje _read_character_string i _read_string w src/zeroconf/_protocol/incoming.py przesuwają self.offset o zadeklarowaną przez atakującego wartość RDLENGTH bez sprawdzania jej względem self._data_len. Nieuwierzytelnione hosty w sieci lokalnej przez UDP/5353 mogą wysłać rekord TXT, HINFO lub A/AAAA z rdlength=65535 i zasilić DNSCache oraz ServiceInfo.properties obciętymi, kontrolowanymi przez atakującego parami klucz/wartość lub rekordami adresowymi.
- CVE-2026-48045Średnie
Zeroconf przed wersją 0.149.12 zawiera podatność na wyczerpanie pamięci i nadmierne zużycie procesora. Nieuwierzytelnieni hosty w sieci lokalnej przez UDP/5353 mogą wysyłać spreparowane zapytania z ustawionym bitem TC, które są przechowywane w słownikach `_deferred` i `_timers` bez ograniczenia rozmiaru, co prowadzi do wyczerpania pamięci i kwadratowego wzrostu obciążenia CPU.
- CVE-2026-47183Średnie
Zeroconf to czysta implementacja Python multicast DNS service discovery. Przed wersją 0.149.6, funkcje DNSIncoming._log_exception_debug i metody deduplikacji wyjątków przechowywały nieograniczony słownik _seen_logs kluczowany przez komunikaty błędów kontrolowane przez atakującego, przechowując tracebacki z sys.exc_info(), które zawierały surowe bufory danych self.data. Umożliwiało to nieuwierzytelnionym hostom w sieci lokalnej przez UDP/5353 powodowanie wzrostu pamięci aż do wyczerpania pamięci lub zabicia procesu.
- CVE-2026-47180Średnie
Zeroconf przed wersją 0.149.5 zawiera podatność na błąd rekurencji w funkcji `DNSIncoming._decode_labels_at_offset`. Pojedynczy pakiet mDNS z łańcuchem wskaźników kompresji może wywołać wyjątek RecursionError, który ucieka z `DNSIncoming.__init__`, powodując ciągłe obciążenie CPU, zalewanie logów i degradację usług zależnych od mDNS dla nieuwierzytelnionych hostów w sieci lokalnej przez UDP/5353.
Oryginalny opis (angielski, źródło NVD)
Zeroconf is a pure Python implementation of multicast DNS service discovery. Prior to 0.149.7, DNSCache._async_add inserted every response record into cache, _expirations, _expire_heap, and service_cache without a cap, allowing unauthenticated hosts on the local link over UDP/5353 (224.0.0.251 / ff02::fb) to multicast valid mDNS responses with unique names and cause memory exhaustion, slower cache lookups, slower async_expire passes, and broken discovery, registration, and ServiceBrowser callbacks. This issue is fixed in version 0.149.7.

