title: 2023-06: Out-of-Cycle Security Bulletin: Junos OS and Junos OS Evolved: A BGP session will flap upon receipt of a specific, optional transitive attribute
description: An Improper Input Validation vulnerability in the Routing Protocol Daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an unauthenticated, network-based attacker to cause a Denial of Service (DoS). When a BGP update message is received over an established BGP session, and that message contains a specific, optional transitive attribute, this session will be torn down with an update message error. This issue cannot propagate beyond an affected system as the processing error occurs as soon as the update is received. This issue is exploitable remotely as the respective attribute can propagate through unaffected systems and intermediate AS (if any). Continuous receipt of a BGP update containing this attribute will create a sustained Denial of Service (DoS) condition. Some customers have experienced these BGP session flaps which prompted Juniper SIRT to release this advisory out of cycle before fixed releases are widely available as there is an effective workaround.
This issue affects:
Juniper Networks Junos OS
15.1R1 and later versions prior to 20.4R3-S8;
21.1 version 21.1R1 and later versions prior to 21.2R3-S6;
21.3 versions prior to 21.3R3-S5;
21.4 versions prior to 21.4R3-S4;
22.1 versions prior to 22.1R3-S4;
22.2 versions prior to 22.2R3-S2;
22.3 versions prior to 22.3R2-S2, 22.3R3-S1;
22.4 versions prior to 22.4R2-S1, 22.4R3;
23.1 versions prior to 23.1R1-S1, 23.1R2.
Juniper Networks Junos OS Evolved
All versions prior to 20.4R3-S8-EVO;
21.1 version 21.1R1-EVO and later versions prior to 21.2R3-S6-EVO;
21.3 versions prior to 21.3R3-S5-EVO;
21.4 versions prior to 21.4R3-S4-EVO;
22.1 versions prior to 22.1R3-S4-EVO;
22.2 versions prior to 22.2R3-S2-EVO;
22.3 versions prior to 22.3R2-S2-EVO, 22.3R3-S1-EVO;
22.4 versions prior to 22.4R2-S1-EVO, 22.4R3-EVO;
23.1 versions prior to 23.1R1-S1-EVO, 23.1R2-EVO.
problem types: CWE-20 Improper Input Validation
affected:
{
defaultStatus: unaffected
product: Junos OS
vendor: Juniper Networks
versions:
lessThan: 15.1R1, status: unaffected, version: unspecified, versionType: custom
lessThan: 20.4R3-S8, status: affected, version: unspecified, versionType: custom
lessThan: 21.1*, status: affected, version: 21.1, versionType: custom
lessThan: 21.2R3-S6, status: affected, version: 21.2, versionType: custom
lessThan: 21.3R3-S5, status: affected, version: 21.3, versionType: custom
lessThan: 21.4R3-S4, status: affected, version: 21.4, versionType: custom
lessThan: 22.1R3-S4, status: affected, version: 22.1, versionType: custom
lessThan: 22.3R2-S2, 22.3R3-S1, status: affected, version: 22.2, versionType: custom
lessThan: 22.2R3-S2, status: affected, version: 22.3, versionType: custom
lessThan: 22.4R2-S1, 22.4R3, status: affected, version: 22.4, versionType: custom
lessThan: 23.1R1-S1, 23.1R2, status: affected, version: 23.1, versionType: custom
}
{
defaultStatus: unaffected
product: Junos OS Evolved
vendor: Juniper Networks
versions:
lessThan: 20.4R3-S8-EVO, status: affected, version: unspecified, versionType: custom
lessThan: 21.1*, status: affected, version: 21.1R1-EVO, versionType: custom
lessThan: 21.2R3-S6-EVO, status: affected, version: 21.2, versionType: custom
lessThan: 21.3R3-S5-EVO, status: affected, version: 21.3, versionType: custom
lessThan: 21.4R3-S4-EVO, status: affected, version: 21.4, versionType: custom
lessThan: 22.1R3-S4-EVO, status: affected, version: 22.1, versionType: custom
lessThan: 22.2R3-S2-EVO, status: affected, version: 22.2, versionType: custom
lessThan: 22.3R2-S2-EVO, 22.3R3-S1-EVO, status: affected, version: 22.3, versionType: custom
lessThan: 22.4R2-S1-EVO, 22.4R3-EVO, status: affected, version: 22.4, versionType: custom
lessThan: 23.1R1-S1-EVO, 23.1R2-EVO, status: affected, version: 23.1, versionType: custom
}
metrics:
cvssV3_1: [
attackComplexity: LOW
attackVector: NETWORK
availabilityImpact: HIGH
baseScore: 7.5
baseSeverity: HIGH
confidentialityImpact: NONE
integrityImpact: NONE
privilegesRequired: NONE
scope: UNCHANGED
userInteraction: NONE
vectorString: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
version: 3.1
]
format: CVSS
scenarios: GENERAL
exploits: Juniper SIRT is not aware of any malicious exploitation of this vulnerability.
solutions: The following software releases have been updated to resolve this specific issue:
Junos OS: 20.4R3-S8*, 21.2R3-S6*, 21.3R3-S5*, 21.4R3-S4, 22.1R3-S4*, 22.2R3-S2*, 22.3R2-S2*, 22.3R3-S1*, 22.4R2-S1*, 22.4R3*, 23.1R1-S1*, 23.1R2*, 23.2R1*, and all subsequent releases;
Junos OS Evolved: 20.4R3-S8-EVO*, 21.2R3-S6-EVO*, 21.3R3-S5-EVO*, 21.4R3-S4-EVO, 22.1R3-S4-EVO*, 22.2R3-S2-EVO*, 22.3R2-S2-EVO*, 22.3R3-S1-EVO*, 22.4R2-S1-EVO*, 22.4R3-EVO*, 23.1R1-S1-EVO*, 23.1R2-EVO*, 23.2R1-EVO*, and all subsequent releases.
*Pending Publication
workarounds: The workaround is to configure BGP error tolerance by way of:
[ protocols bgp bgp-error-tolerance ... ]
which causes malformed BGP routes to be 'treated as withdrawal' instead of bringing down the BGP session. Additional details can be found at https://www.juniper.net/documentation/us/en/software/junos/bgp/topics/topic-map/bgp-error-messages.html
Juniper considers configuring this option to be a Best Common Practice (BCP) as it not only prevents this issue from happening, but protects against similar issues as well.