CVE-2026-57488
WysokieCVSS 7.1Streszczenie
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.
Ocena ryzyka
Zdalny sąsiad w sieci może wykorzystać rozbieżność parsera, aby pozostawić bajty interpretowane jako kolejne żądanie (ryzyko przemytu żądań) lub zmusić proces do oczekiwania na ogromne ciało, powodując odmowę usługi.
Rekomendacja
Zaktualizuj pupnp do wersji 2.0.2 lub nowszej. Do czasu aktualizacji ogranicz dostęp do usług UPnP z niezaufanych sieci.
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-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 2.0.2, raw_to_int in upnp/src/genlib/net/http/httpparser.c parses Content-Length with strtol and casts the resulting long to a 32-bit int before the caller stores it as unsigned int. On LP64 systems, values greater than INT_MAX can truncate or wrap, so the HTTP parser can accept a body length different from the declared value. A remote adjacent-network peer can use the resulting parser disagreement to leave bytes to be interpreted as another request in persistent or proxied contexts, or can make a worker wait for an extremely large body and cause denial of service. This issue is fixed in 2.0.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

