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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-400"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/77xxx/CVE-2026-77630.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:pupnp_project:pupnp:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "22.0.4"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "5dba8070b4d64d976f8e6fc13f1f301befebe7d2"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "release-22.0.4",
"range": [
{
"fixed": "4145da68112f61660c8e55ed61fae1bb07d0e3d8"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-77630.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "323806000987652477654482293667370309651",
"length": 529
},
"id": "CVE-2026-77630-0a3a08a3",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/4145da68112f61660c8e55ed61fae1bb07d0e3d8",
"target": {
"file": "upnp/test/test_parse_uri.c",
"function": "main"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"321419230313802312341950936077966026798",
"25326901399033292161125588586751351173",
"171238002761472405826287049095557554228",
"83720520129533097167115135230853404357",
"9092297945243166393896562960622563323",
"21648538604367389141543886809242645682",
"304639943383283544542250345149813777621",
"115694927382791761176603068582991392250"
],
"threshold": 0.9
},
"id": "CVE-2026-77630-0eca11cc",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/gena/gena_device.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"135801438876750965269408798086057036769",
"119130622392351116559994075055142349624",
"28363925717531991270056759199996267387",
"315827696865729280812336994493427411965",
"38902358891178150320706201292368824670",
"183103269080752776415911531210113741693",
"41312505167875765346853184554273304289"
],
"threshold": 0.9
},
"id": "CVE-2026-77630-236bb458",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/inc/uri.h"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"175725553297300549292885301652570354265",
"316523031587517889718646009359660650629",
"242990382878904088188897092697476934680",
"314702083531246807665780217813427262060",
"146293774892874795700099845722697948268"
],
"threshold": 0.9
},
"id": "CVE-2026-77630-2b0efe08",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/4145da68112f61660c8e55ed61fae1bb07d0e3d8",
"target": {
"file": "upnp/test/test_parse_uri.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"63950279727798913531932025873131583309",
"167208918163576282910395010719331667048",
"115915636502892392291227043274354651202",
"77108062925455006153043453001945321480",
"167599843602985064204186329539392409165",
"276167100181265483654932127893309139656",
"2803149668199747541846069729171758335",
"156779878515676506151443197309944321824",
"243806781714880893536225745636743342202",
"308885089816962147689794063982264386506",
"317704080515053147980405354102273530929",
"179718328426693795747832642934278276460",
"222397512618141040248004412570137376306",
"114763896210305535864576399332311139582",
"161881443512262815757198901637700383531",
"157403695006509001879496494203764057817",
"70725049930671213895048728543382497226",
"184908341481056926239061777280357357351",
"337579051750598817124159758178204129413",
"236307430772995940154901254939020170753",
"261627717246398708419418946718740123603",
"275189979982989580149798685444055332761",
"213495100071347705417005452924597527431",
"202624623762662455223494891389991479146",
"224225532708043532658648694211616008660",
"29082865428503954925101543998105349162",
"201573941750589269041282342520798130007",
"302176168625659416266832247103307508283",
"68484510042554532213050128917178685107",
"12979067656734790472004255968009394436",
"314137185147622041908933362175812018941",
"199470617593560682205330873503008979373",
"161068591498661216482710379074836824775",
"194579312456454835386993912785590813386",
"211101461746561256853418562072021254953",
"244758225886818352251491968198413949668",
"116631864713528257192761664457114600892",
"198297669070799441534833118623418104829",
"199401495663375485412033426986800703329",
"298070277858595409246521367025007128437",
"220096066836951790732197705474812317763",
"185321906908120244456742388270416763520",
"229135341198499325271181747008155517224",
"314632134767121287207802783802283280701",
"129057164707296765774364410395568589676"
],
"threshold": 0.9
},
"id": "CVE-2026-77630-734be6fb",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/genlib/net/uri/uri.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "67120272664037772136174321149205061265",
"length": 480
},
"id": "CVE-2026-77630-9c78093a",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/soap/soap_ctrlpt.c",
"function": "get_host_and_path"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "218749350713042240703382884032707109327",
"length": 597
},
"id": "CVE-2026-77630-b60c9a64",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/genlib/net/http/httpreadwrite.c",
"function": "http_FixUrl"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "19872952825617998638634800520513257330",
"length": 2539
},
"id": "CVE-2026-77630-c007e900",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/genlib/net/uri/uri.c",
"function": "parse_hostport"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "159973763877347252679649179042035033975",
"length": 1402
},
"id": "CVE-2026-77630-cd36945f",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/genlib/net/uri/uri.c",
"function": "copy_URL_list"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"317690494304266615212375402404567317082",
"302224844484980630509501516137296815224",
"256665030508535672324027304572572061674",
"92379805018191443642504022394309495018"
],
"threshold": 0.9
},
"id": "CVE-2026-77630-cfb9e56c",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/genlib/net/http/httpreadwrite.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"228317570324101619636795708495616778304",
"288818783085891745673158826868104763697",
"9649839119863990002442627004341102880",
"254767532577129249263767748718331710703"
],
"threshold": 0.9
},
"id": "CVE-2026-77630-d5d9854d",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/soap/soap_ctrlpt.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "11643910866336940061254328559237757888",
"length": 1633
},
"id": "CVE-2026-77630-fd721af7",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/5dba8070b4d64d976f8e6fc13f1f301befebe7d2",
"target": {
"file": "upnp/src/gena/gena_device.c",
"function": "create_url_list"
}
}
]
"2026-10-28T11:01:31Z"