CVE-2026-77630

Source
https://cve.org/CVERecord?id=CVE-2026-77630
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-77630.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-77630
Aliases
  • GHSA-46ph-jff5-5h77
Downstream
Published
2026-10-16T15:36:05Z
Modified
2026-10-28T11:01:31Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
pupnp: Denial of service via blocking DNS resolution in parse_uri()/GENA callback parsing
Details

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.

Database specific
{
    "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"
}
References

Affected packages

Git / github.com/pupnp/pupnp

Affected ranges

Type
GIT
Repo
https://github.com/pupnp/pupnp
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "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"
        }
    ]
}

Affected versions

Other
last_svn_trunk
release-1.*
release-1.10.0
release-1.10.1
release-1.12.0
release-1.14.0
release-1.14.1
release-1.14.10
release-1.14.11
release-1.14.12
release-1.14.13
release-1.14.14
release-1.14.15
release-1.14.16
release-1.14.17
release-1.14.18
release-1.14.19
release-1.14.2
release-1.14.20
release-1.14.21
release-1.14.22
release-1.14.23
release-1.14.24
release-1.14.25
release-1.14.26
release-1.14.27
release-1.14.28
release-1.14.29
release-1.14.3
release-1.14.30
release-1.14.4
release-1.14.5
release-1.14.6
release-1.14.7
release-1.14.8
release-1.14.9
release-1.18.0
release-1.18.1
release-1.18.2
release-1.18.3
release-1.18.4
release-1.18.5
release-1.8.0
release-1.8.1
release-1.8.2
release-1.8.3
release-1.8.4
release-2.*
release-2.0.0
release-2.0.1
release-2.0.2
release-22.*
release-22.0.3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-77630.json"
vanir_signatures
[
    {
        "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"
        }
    }
]
vanir_signatures_modified
"2026-10-28T11:01:31Z"