CVE-2026-77630
WysokieCVSS 7.5Streszczenie
W pupnp funkcja parse_hostport synchronicznie wywołuje getaddrinfo podczas przetwarzania nazw hostów dostarczonych przez atakującego w żądaniach HTTP i nagłówkach GENA SUBSCRIBE CALLBACK. Zdalny nieuwierzytelniony peer może wybrać wolno odpowiadającą lub nieodpowiadającą nazwę hosta i zablokować wątek miniserwera na czas oczekiwania resolvera, co pozwala na wyczerpanie puli wątków i odmowę usługi UPnP.
Ocena ryzyka
Atakujący może wyczerpać pulę wątków serwera UPnP, powodując odmowę usługi. Ryzyko obejmuje niedostępność usług UPnP w sieci lokalnej.
Rekomendacja
Zaktualizuj pupnp do wersji 22.0.4 lub nowszej. Rozważ ograniczenie dostępu do serwera UPnP oraz monitorowanie czasu odpowiedzi resolvera.
Inne podatności w pupnp
Zobacz wszystkie- CVE-2026-57488Wysokie
W bibliotece pupnp funkcja raw_to_int w pliku httpparser.c parsuje nagłówek Content-Length za pomocą strtol i rzutuje wynikowy long na 32-bitowy int przed zapisaniem jako unsigned int. W systemach LP64 wartości większe niż INT_MAX mogą zostać obcięte lub zawinięte, przez co parser HTTP może zaakceptować długość ciała inną niż zadeklarowana. Luka naprawiona w wersji 2.0.2.
- CVE-2026-57487Wysokie
W bibliotece pupnp nagłówek Transfer-Encoding: chunked powoduje, że parser HTTP pozostawia content_length na zero, podczas gdy dekodowane bajty są gromadzone w msg.entity. Limity g_maxContentLength sprawdzane w http_RecvMessage nie obejmują zdekodowanych ciał chunked, więc zdalny peer może zmusić proces do buforowania encji większej niż skonfigurowany maksymalny rozmiar. Luka naprawiona w wersji 2.0.2.
- CVE-2026-57486Wysokie
W bibliotece pupnp funkcja ixmlNode_compare przekazuje pola nodeValue, namespaceURI, prefix i localName bezpośrednio do strcmp, mimo że mogą być NULL dla atrybutów bez przestrzeni nazw. Gdy ixmlElement_removeAttributeNode porównuje dwa różne atrybuty o tej samej nazwie, dochodzi do dereferencji NULL i awarii procesu. Luka naprawiona w wersji 2.0.2.
- CVE-2026-55862Średnie
W bibliotece pupnp przed wersją 2.0.0 wiele funkcji przechodzenia po drzewie DOM ixml przetwarza głęboko zagnieżdżony XML z nieograniczoną rekurencją. Nieuwierzytelniony peer w sieci lokalnej może dostarczyć taki XML przez żądanie SOAP, wyczerpać stos wątku usługi i wywołać awarię usługi UPnP.
Oryginalny opis (angielski, źródło NVD)
pupnp is an SDK for development of UPnP device and control point applications. Prior to 22.0.4, parse_hostport in upnp/src/genlib/net/uri/uri.c synchronously calls getaddrinfo while parse_uri is processing attacker-supplied hostnames from inbound HTTP request targets in upnp/src/genlib/net/http/httpparser.c and GENA SUBSCRIBE CALLBACK headers handled by create_url_list in upnp/src/gena/gena_device.c. A remote unauthenticated peer can choose a slow or nonresponsive hostname and block a bounded miniserver worker for the resolver timeout, allowing a small number of requests to exhaust the thread pool and deny UPnP service. This issue is fixed in 22.0.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

