bird2, bird3 — security advisory
An IPv6 FlowSpec validation bypass in the CZ.NIC BIRD Internet Routing Daemon allows an established BGP peer to inject FlowSpec rules matching destinations outside the address space authorized by the unicast-route validation procedure. With validation enabled on the receiving flow6 channel, BIRD fails to reject a destination prefix component with a nonzero offset, contrary to RFC 8956 section 5. It validates a reconstructed prefix with zero-filled skipped bits, although the original FlowSpec component can match a broader set of IPv6 addresses. Given a suitable unicast route from the peer, the rule can pass validation and, where export policy permits, be propagated to downstream peers. Downstream enforcement may cause unauthorized traffic filtering or redirection.
- Products
- bird2, bird3
- Affected versions
- 2.0.12-7, 2.14-1, 2.15-1, 2.15.1-1, 2.15.1-1.1, 2.16-1, 2.16.1-1, 2.17-1, 2.17.1-1, 2.17.1-1+deb13u1, 2.17.1-1+deb13u2, 2.17.2-1, 2.17.3-1, 2.17.3-2, 2.17.5-0+deb13u1, 2.18-1, 2.18.1-1, 2.19.0-1, 2.19.1-1, 2.19.2-1, 2.20.0-1, 3.1.0-1, 3.1.4-1, 3.1.5-1, 3.1.5-2, 3.1.7-0+deb13u1, 3.2.0-1, 3.2.1-1, 3.3.0-1, 3.3.0-1~bpo13+1, 3.3.1-1, 3.3.2-1, 3.3.2-1~bpo13+1, 3.4.0-1
- Fixed versions
- Not specified
- CVEs
- CVE-2026-112112
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 02:05 UTC · Revision 1
Source evidence
An IPv6 FlowSpec validation bypass in the CZ.NIC BIRD Internet Routing Daemon allows an established BGP peer to inject FlowSpec rules matching destinations outside the address space authorized by the unicast-route validation procedure. With validation enabled on the receiving flow6 channel, BIRD fails to reject a destination prefix component with a nonzero offset, contrary to RFC 8956 section 5. It validates a reconstructed prefix with zero-filled skipped bits, although the original FlowSpec component can match a broader set of IPv6 addresses. Given a suitable unicast route from the peer, the rule can pass validation and, where export policy permits, be propagated to downstream peers. Downstream enforcement may cause unauthorized traffic filtering or redirection.
osv:DEBIAN-CVE-2026-112112
bird2
Fixed versions: Not specified
bird2
Fixed versions: Not specified
bird2
Fixed versions: Not specified
bird3
Fixed versions: Not specified
bird3
Fixed versions: Not specified
Complete source record
{
"id": "42f05c29c74c4a498385b8d050a1a7303248ce0dfff692eb65f0b69e4bb5d019",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-112112",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-112112",
"summary": "An IPv6 FlowSpec validation bypass in the CZ.NIC BIRD Internet Routing Daemon allows an established BGP peer to inject FlowSpec rules matching destinations outside the address space authorized by the unicast-route validation procedure. With validation enabled on the receiving flow6 channel, BIRD fails to reject a destination prefix component with a nonzero offset, contrary to RFC 8956 section 5. It validates a reconstructed prefix with zero-filled skipped bits, although the original FlowSpec component can match a broader set of IPv6 addresses. Given a suitable unicast route from the peer, the rule can pass validation and, where export policy permits, be propagated to downstream peers. Downstream enforcement may cause unauthorized traffic filtering or redirection.",
"evidence": "osv:DEBIAN-CVE-2026-112112",
"products": [
{
"name": {
"value": "bird2",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.0.12-7",
"evidence": "/affected/0/versions"
},
{
"value": "2.14-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.15-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.15.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.15.1-1.1",
"evidence": "/affected/0/versions"
},
{
"value": "2.16-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.16.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.17-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.17.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.17.2-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.17.3-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.17.3-2",
"evidence": "/affected/0/versions"
},
{
"value": "2.18-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.18.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.19.0-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.19.1-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.19.2-1",
"evidence": "/affected/0/versions"
},
{
"value": "2.20.0-1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "bird2",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.17.1-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.17.1-1+deb13u1",
"evidence": "/affected/1/versions"
},
{
"value": "2.17.1-1+deb13u2",
"evidence": "/affected/1/versions"
},
{
"value": "2.17.2-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.17.3-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.17.3-2",
"evidence": "/affected/1/versions"
},
{
"value": "2.17.5-0+deb13u1",
"evidence": "/affected/1/versions"
},
{
"value": "2.18-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.18.1-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.19.0-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.19.1-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.19.2-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.20.0-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "bird2",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.17.1-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.17.2-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.17.3-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.17.3-2",
"evidence": "/affected/2/versions"
},
{
"value": "2.18-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.18.1-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.19.0-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.19.1-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.19.2-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.20.0-1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "bird3",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.1.0-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.1.4-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.1.5-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.1.5-2",
"evidence": "/affected/3/versions"
},
{
"value": "3.1.7-0+deb13u1",
"evidence": "/affected/3/versions"
},
{
"value": "3.2.0-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.2.1-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.0-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.0-1~bpo13+1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.1-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.2-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.3.2-1~bpo13+1",
"evidence": "/affected/3/versions"
},
{
"value": "3.4.0-1",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "bird3",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.1.0-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.1.4-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.1.5-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.1.5-2",
"evidence": "/affected/4/versions"
},
{
"value": "3.2.0-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.2.1-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.3.0-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.3.0-1~bpo13+1",
"evidence": "/affected/4/versions"
},
{
"value": "3.3.1-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.3.2-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.3.2-1~bpo13+1",
"evidence": "/affected/4/versions"
},
{
"value": "3.4.0-1",
"evidence": "/affected/4/versions"
}
]
}
],
"severity": "low",
"structured": {
"id": "DEBIAN-CVE-2026-112112",
"aliases": [
"DEBIAN-CVE-2026-112112"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "bird2",
"purl": "pkg:deb/debian/bird2?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"2.0.12-7",
"2.14-1",
"2.15-1",
"2.15.1-1",
"2.15.1-1.1",
"2.16-1",
"2.16.1-1",
"2.17-1",
"2.17.1-1",
"2.17.2-1",
"2.17.3-1",
"2.17.3-2",
"2.18-1",
"2.18.1-1",
"2.19.0-1",
"2.19.1-1",
"2.19.2-1",
"2.20.0-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-112112.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "bird2",
"purl": "pkg:deb/debian/bird2?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"2.17.1-1",
"2.17.1-1+deb13u1",
"2.17.1-1+deb13u2",
"2.17.2-1",
"2.17.3-1",
"2.17.3-2",
"2.17.5-0+deb13u1",
"2.18-1",
"2.18.1-1",
"2.19.0-1",
"2.19.1-1",
"2.19.2-1",
"2.20.0-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-112112.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "bird2",
"purl": "pkg:deb/debian/bird2?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"2.17.1-1",
"2.17.2-1",
"2.17.3-1",
"2.17.3-2",
"2.18-1",
"2.18.1-1",
"2.19.0-1",
"2.19.1-1",
"2.19.2-1",
"2.20.0-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-112112.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "bird3",
"purl": "pkg:deb/debian/bird3?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"3.1.0-1",
"3.1.4-1",
"3.1.5-1",
"3.1.5-2",
"3.1.7-0+deb13u1",
"3.2.0-1",
"3.2.1-1",
"3.3.0-1",
"3.3.0-1~bpo13+1",
"3.3.1-1",
"3.3.2-1",
"3.3.2-1~bpo13+1",
"3.4.0-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-112112.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "bird3",
"purl": "pkg:deb/debian/bird3?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"3.1.0-1",
"3.1.4-1",
"3.1.5-1",
"3.1.5-2",
"3.2.0-1",
"3.2.1-1",
"3.3.0-1",
"3.3.0-1~bpo13+1",
"3.3.1-1",
"3.3.2-1",
"3.3.2-1~bpo13+1",
"3.4.0-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-112112.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
}
],
"modified": "2026-10-23T18:05:33.649384129Z",
"provider": "osv",
"upstream": [
"CVE-2026-112112"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-112112"
]
},
"related_cves": [
{
"value": "CVE-2026-112112",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 424508,
"published_at": "2026-10-18T23:16:56.767+00:00"
}