pupnp is an SDK for development of UPnP device and control point applications. Prior to 2.0.2, ixmlNode_compare in ixml/src/node.c passes the nullable nodeValue, namespaceURI, prefix, and localName fields directly to strcmp. Non-namespaced attributes created by ixmlDocument_createAttribute legitimately leave those fields NULL. When ixmlElement_removeAttributeNode compares two distinct attribute objects with the same nodeName through find_condition_node, the pointer-identity shortcut does not apply and the comparison dereferences NULL, causing a process crash when application handling of attacker-controlled XML reaches this path. This issue is fixed in 2.0.2.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-476"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/57xxx/CVE-2026-57486.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:pupnp_project:pupnp:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.0.2"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "4b2f775e3b98de3cfb096707bcde040c5562d9ec"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "release-2.0.2",
"range": [
{
"fixed": "280cff736ee0a2384d8a67011382e6fe76a51167"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-57486.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "52107601416279361396342264133200996176",
"length": 476
},
"id": "CVE-2026-57486-69243614",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/280cff736ee0a2384d8a67011382e6fe76a51167",
"target": {
"file": "ixml/test/poc_ghsa_q54q.c",
"function": "main"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"238009227797327810737162318180826238343",
"309483827188200267408068710828998183333",
"176805413963287683348269735186056966420",
"100127587991632028945214790579105712801",
"64385322315670716323369746477785759072",
"15001707584867917712310745286966222587",
"237725865322167043126336366116465304385",
"188069124083503172605679983600598774876",
"47920842190316463925451795831456409821",
"328767621200307008156811361712837691542",
"51078583804652622609459805037713791725"
],
"threshold": 0.9
},
"id": "CVE-2026-57486-e25a252c",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/4b2f775e3b98de3cfb096707bcde040c5562d9ec",
"target": {
"file": "ixml/src/node.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"334027813865936129438216410789017650661",
"54295986294101972822852762588617473092",
"55486358970535260111721862803837298368",
"479395375871184399048480116120362544"
],
"threshold": 0.9
},
"id": "CVE-2026-57486-faedecba",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/pupnp/pupnp/commit/280cff736ee0a2384d8a67011382e6fe76a51167",
"target": {
"file": "ixml/test/poc_ghsa_q54q.c"
}
}
]
"2026-10-28T10:55:36Z"