In FRRouting 10.1 and later, bgpd does not correctly close a BGP session when the Send Hold Timer (RFC 9687) expires, i.e. when a neighbor has stopped accepting data from the router for twice the hold time. The connection is closed, but bgpd still considers the session to be up.
A BGP neighbor that keeps sending KEEPALIVEs but stops reading from its connection, at a time when the router has a large amount of data to send to it (for example while sending it a full routing table), can cause one of the following:
The neighbor does not need to be malicious; an overloaded or stuck peer can trigger the same behavior.
Required configuration: no special configuration is needed. Any BGP neighbor with an established session can trigger the issue under default settings, for example:
router bgp 65001 neighbor 192.0.2.2 remote-as 65002
Graceful Restart helper mode, which leads to the crash, is enabled by default. With default timers (keepalive 60s, hold time 180s), the session is closed about 6 minutes after the neighbor stops reading.
{
"cna_assigner": "NetDEF",
"cwe_ids": [
"CWE-372",
"CWE-617"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120033.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "4967bf6d729d7dd14dff7b672b2fd4afe78a0d86"
},
{
"fixed": "57a7f3eb48837359d6e3ee5ebd4acea8f49320e5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "ChangesAt"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-120033.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"308876594165963076006538129421289263129",
"109955008924111624791767273019797263884"
],
"threshold": 0.9
},
"id": "CVE-2026-120033-469e4279",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/frrouting/frr/commit/57a7f3eb48837359d6e3ee5ebd4acea8f49320e5",
"target": {
"file": "bgpd/bgp_fsm.c"
}
}
]
"2026-11-13T13:10:08Z"