CVE-2026-44621
Full vulnerability record from the local CVENow database.
Description
With NLnet Labs Unbound up to and including version 1.25.1, applications using libunbound and configured with 'unwanted-reply-threshold', could eventually be abruptly terminated if the threshold is reached and libunbound needs to call 'libworker_alloc_cleanup' since the function is absent from the function call allow list. When an application using libunbound sets 'unwanted-reply-threshold' to any non-zero value and the iterator queries an authoritative that replies with enough wrong-transaction-ID UDP datagrams to cross the threshold, the 'libworker_alloc_cleanup' will eventually be called. Since the function is absent from the function call allow list, this leads to a fatal exit of libunbound and eventual termination of the embedding application.Unbound itself is not affected since its relevant function 'worker_alloc_cleanup' is registed in the allow list and proceeds to perform the documented cache flush.
View original CVE JSON
{
"id": "CVE-2026-44621",
"sourceIdentifier": "[email protected]",
"published": "2026-07-22T14:17:18.913",
"lastModified": "2026-10-24T13:10:00.147",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "With NLnet Labs Unbound up to and including version 1.25.1, applications using libunbound and configured with 'unwanted-reply-threshold', could eventually be abruptly terminated if the threshold is reached and libunbound needs to call 'libworker_alloc_cleanup' since the function is absent from the function call allow list. When an application using libunbound sets 'unwanted-reply-threshold' to any non-zero value and the iterator queries an authoritative that replies with enough wrong-transaction-ID UDP datagrams to cross the threshold, the 'libworker_alloc_cleanup' will eventually be called. Since the function is absent from the function call allow list, this leads to a fatal exit of libunbound and eventual termination of the embedding application.Unbound itself is not affected since its relevant function 'worker_alloc_cleanup' is registed in the allow list and proceeds to perform the documented cache flush."
},
{
"lang": "es",
"value": "Con NLnet Labs Unbound hasta la versión 1.25.1 inclusive, las aplicaciones que utilizan libunbound y están configuradas con ’unwanted-reply-threshold’ podrían terminar abruptamente si se alcanza el umbral y libunbound necesita llamar a ’libworker_alloc_cleanup’, ya que la función está ausente de la lista de permitidos de llamadas a funciones. Cuando una aplicación que utiliza libunbound establece ’unwanted-reply-threshold’ en cualquier valor distinto de cero y el iterador consulta a una autoridad que responde con suficientes datagramas UDP con ID de transacción incorrecto para superar el umbral, se llamará eventualmente a ’libworker_alloc_cleanup’. Dado que la función está ausente de la lista de permitidos de llamadas a funciones, esto provoca una salida fatal de libunbound y la terminación eventual de la aplicación que lo integra. Unbound en sí mismo no se ve afectado, ya que su función relevante ’worker_alloc_cleanup’ está registrada en la lista de permitidos y procede a realizar el vaciado de caché documentado."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "NLnet Labs",
"product": "Unbound",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"lessThan": "1.25.2",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 5.9,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.2,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-22T14:21:13.870660Z",
"id": "CVE-2026-44621",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-754"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:nlnetlabs:unbound:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.25.2",
"matchCriteriaId": "9C01A425-F6D7-49A7-A72D-BF2159564DB6"
}
]
}
]
}
],
"references": [
{
"url": "https://www.nlnetlabs.nl/downloads/unbound/CVE-2026-44621.txt",
"source": "[email protected]",
"tags": [
"Vendor Advisory"
]
}
]
}