CVE-2026-57487
WysokieCVSS 7.5Streszczenie
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.
Ocena ryzyka
Zdalny atakujący mogący dotrzeć do ścieżek SOAP, GENA, miniserver lub odpowiedzi HTTP punktu kontrolnego może wyczerpać zasoby i doprowadzić do odmowy usługi.
Rekomendacja
Zaktualizuj pupnp do wersji 2.0.2 lub nowszej. Rozważ ograniczenie dostępu sieciowego do usług UPnP jako środek tymczasowy.
Inne podatności w pupnp
Zobacz wszystkie- CVE-2026-77630Wysokie
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.
- 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-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 2.0.2, Transfer-Encoding: chunked causes the HTTP parser in upnp/src/genlib/net/http/httpparser.c to leave parser->content_length at zero while parser_parse_chunky_entity and parser_parse_chunky_body accumulate decoded bytes in parser->msg.entity. The g_maxContentLength checks in http_RecvMessage in upnp/src/genlib/net/http/httpreadwrite.c therefore reject oversized numeric Content-Length bodies but do not enforce the same limit on decoded chunked bodies. A remote peer that can reach a SOAP, GENA, miniserver, or control-point HTTP response path can make the process buffer an entity larger than the configured maximum, causing resource exhaustion and denial of service. This issue is fixed in 2.0.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

