unbound: Fix of 4 CVEs
- CVE-2026-81634: bounds-check the scratch buffer in rrset_canonical() and rrset_canonicalize_to_buffer() before writing the RRSIG rdata, the first canonical owner name and each RR's rdata, so a large rrset can no longer be written past the end of the buffer - CVE-2026-80225: cap the number of pipelined TCP/DoT queries drained per event-loop visit in tcp_req_info_read_again() and tcp_more_read_again() and defer the remainder via a zero-delay timer, so one connection can no longer starve the other file descriptors - CVE-2026-85501: bound the DNSSEC validation work per query (ReTrap): add the val-validation-attempts and val-hash-attempts limits (default 32), limit DNSKEY/RRSIG and DS key-tag matches and the NSEC/NSEC3 records checked per message, shorten oversized referral DS RRsets, stop validator restarts once the limits are hit, and require only the answer and authority sections to be secure; the built-in val-clean-additional default is now no, the shipped unbound.conf keeps val-clean-additional: yes
- Products
- python3-unbound, unbound, unbound-devel, unbound-libs
- Affected versions
- Not specified
- Fixed versions
- 1.16.2-5.el8.tuxcare.els12
- CVEs
- CVE-2026-80225, CVE-2026-81634, CVE-2026-85501
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 11:50 UTC · Revision 1
Source evidence
- CVE-2026-81634: bounds-check the scratch buffer in rrset_canonical() and rrset_canonicalize_to_buffer() before writing the RRSIG rdata, the first canonical owner name and each RR's rdata, so a large rrset can no longer be written past the end of the buffer - CVE-2026-80225: cap the number of pipelined TCP/DoT queries drained per event-loop visit in tcp_req_info_read_again() and tcp_more_read_again() and defer the remainder via a zero-delay timer, so one connection can no longer starve the other file descriptors - CVE-2026-85501: bound the DNSSEC validation work per query (ReTrap): add the val-validation-attempts and val-hash-attempts limits (default 32), limit DNSKEY/RRSIG and DS key-tag matches and the NSEC/NSEC3 records checked per message, shorten oversized referral DS RRsets, stop validator restarts once the limits are hit, and require only the answer and authority sections to be secure; the built-in val-clean-additional default is now no, the shipped unbound.conf keeps val-clean-additional: yes
osv:CLSA-2026-1791261872
python3-unbound
Fixed versions: 1.16.2-5.el8.tuxcare.els12
unbound
Fixed versions: 1.16.2-5.el8.tuxcare.els12
unbound-devel
Fixed versions: 1.16.2-5.el8.tuxcare.els12
unbound-libs
Fixed versions: 1.16.2-5.el8.tuxcare.els12
Complete source record
{
"id": "ca5f456474c68c10157a92d3ecfc519d661fb21d0e91593c70194288749fd938",
"url": "https://osv.dev/vulnerability/CLSA-2026-1791261872",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "unbound: Fix of 4 CVEs",
"summary": "- CVE-2026-81634: bounds-check the scratch buffer in rrset_canonical() and rrset_canonicalize_to_buffer() before writing the RRSIG rdata, the first canonical owner name and each RR's rdata, so a large rrset can no longer be written past the end of the buffer - CVE-2026-80225: cap the number of pipelined TCP/DoT queries drained per event-loop visit in tcp_req_info_read_again() and tcp_more_read_again() and defer the remainder via a zero-delay timer, so one connection can no longer starve the other file descriptors - CVE-2026-85501: bound the DNSSEC validation work per query (ReTrap): add the val-validation-attempts and val-hash-attempts limits (default 32), limit DNSKEY/RRSIG and DS key-tag matches and the NSEC/NSEC3 records checked per message, shorten oversized referral DS RRsets, stop validator restarts once the limits are hit, and require only the answer and authority sections to be secure; the built-in val-clean-additional default is now no, the shipped unbound.conf keeps val-clean-additional: yes",
"evidence": "osv:CLSA-2026-1791261872",
"products": [
{
"name": {
"value": "python3-unbound",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.16.2-5.el8.tuxcare.els12",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "unbound",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.16.2-5.el8.tuxcare.els12",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "unbound-devel",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.16.2-5.el8.tuxcare.els12",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "unbound-libs",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.16.2-5.el8.tuxcare.els12",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1791261872",
"aliases": [
"CLSA-2026-1791261872"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.16.2-5.el8.tuxcare.els12"
}
]
}
],
"package": {
"name": "python3-unbound",
"purl": "pkg:rpm/tuxcare/python3-unbound?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1791261872.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.16.2-5.el8.tuxcare.els12"
}
]
}
],
"package": {
"name": "unbound",
"purl": "pkg:rpm/tuxcare/unbound?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1791261872.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.16.2-5.el8.tuxcare.els12"
}
]
}
],
"package": {
"name": "unbound-devel",
"purl": "pkg:rpm/tuxcare/unbound-devel?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1791261872.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.16.2-5.el8.tuxcare.els12"
}
]
}
],
"package": {
"name": "unbound-libs",
"purl": "pkg:rpm/tuxcare/unbound-libs?distro=centos-stream-8",
"ecosystem": "TuxCare:CentOS-Stream:8"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos-stream8els/CLSA-2026-1791261872.json"
}
}
],
"modified": "2026-10-26T09:43:32.552617974Z",
"provider": "osv",
"upstream": [
"CVE-2026-80225",
"CVE-2026-81634",
"CVE-2026-85501"
],
"references": [
"https://errata.tuxcare.com/els_os/centos-stream8els/CLSA-2026-1791261872.html",
"https://nvd.nist.gov/vuln/detail/CVE-2023-50387",
"https://nvd.nist.gov/vuln/detail/CVE-2026-80225",
"https://nvd.nist.gov/vuln/detail/CVE-2026-81634",
"https://nvd.nist.gov/vuln/detail/CVE-2026-85501"
]
},
"related_cves": [
{
"value": "CVE-2026-80225",
"evidence": "/upstream"
},
{
"value": "CVE-2026-81634",
"evidence": "/upstream"
},
{
"value": "CVE-2026-85501",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 449981,
"published_at": "2026-10-19T14:45:10+00:00"
}