title: Junos OS and Junos OS Evolved: RPD crash when attempting to send a very long AS PATH to a non-4-byte-AS capable BGP neighbor
description:
An Improper Handling of Exceptional Conditions vulnerability in AS PATH processing of Juniper Networks Junos OS and Junos OS Evolved allows an attacker to send a BGP update message with an AS PATH containing a large number of 4-byte ASes, leading to a Denial of Service (DoS). Continued receipt and processing of these BGP updates will create a sustained Denial of Service (DoS) condition.
This issue is hit when the router has Non-Stop Routing (NSR) enabled, has a non-4-byte-AS capable BGP neighbor, receives a BGP update message with a prefix that includes a long AS PATH containing large number of 4-byte ASes, and has to advertise the prefix towards the non-4-byte-AS capable BGP neighbor.
Note: NSR is not supported on the SRX Series and is therefore not affected by this vulnerability.
This issue affects:
Juniper Networks Junos OS:
*  All versions prior to 20.4R3-S8;
*  21.1 versions 21.1R1 and later;
*  21.2 versions prior to 21.2R3-S6;
*  21.3 versions prior to 21.3R3-S5;
*  21.4 versions prior to 21.4R3-S5;
*  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.
Juniper Networks Junos OS Evolved
*  All versions prior to 20.4R3-S8-EVO;
*  21.1 versions 21.1R1-EVO and later;
*  21.2 versions prior to 21.2R3-S6-EVO;
*  21.3 versions prior to 21.3R3-S5-EVO;
*  21.4 versions prior to 21.4R3-S5-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.
problem types: CWE-755 Improper Handling of Exceptional Conditions
affected:
{
defaultStatus: unaffected
platforms: [MX Series, PTX Series, ACX Series, EX Series, QFX Series]
product: Junos OS
vendor: Juniper Networks
versions:
lessThan: 20.4R3-S8, status: affected, version: 0, versionType: semver
lessThan: 21.1*, status: affected, version: 21.1R1, versionType: semver
lessThan: 21.2R3-S6, status: affected, version: 21.2, versionType: semver
lessThan: 21.3R3-S5, status: affected, version: 21.3, versionType: semver
lessThan: 21.4R3-S5, status: affected, version: 21.4, versionType: semver
lessThan: 22.1R3-S4, status: affected, version: 22.1, versionType: semver
lessThan: 22.2R3-S2, status: affected, version: 22.2, versionType: semver
lessThan: 22.3R2-S2, 22.3R3-S1, status: affected, version: 22.3, versionType: semver
lessThan: 22.4R2-S1, 22.4R3, status: affected, version: 22.4, versionType: semver
}
{
defaultStatus: unaffected
platforms: [PTX Series, ACX Series, QFX Series]
product: Junos OS Evolved
vendor: Juniper Networks
versions:
lessThan: 20.4R3-S8-EVO, status: affected, version: 0, versionType: semver
lessThan: 21.1*-EVO, status: affected, version: 21.1, versionType: semver
lessThan: 21.2R3-S6-EVO, status: affected, version: 21.2, versionType: semver
lessThan: 21.3R3-S5-EVO, status: affected, version: 21.3, versionType: semver
lessThan: 21.4R3-S5-EVO, status: affected, version: 21.4, versionType: semver
lessThan: 22.1R3-S4-EVO, status: affected, version: 22.1, versionType: semver
lessThan: 22.2R3-S2-EVO, status: affected, version: 22.2, versionType: semver
lessThan: 22.3R2-S2-EVO, 22.3R3-S1-EVO, status: affected, version: 22.3, versionType: semver
lessThan: 22.4R2-S1-EVO, 22.4R3-EVO, status: affected, version: 22.4, versionType: semver
}
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-S5, 22.1R3-S4, 22.2R3-S2, 22.3R2-S2, 22.3R3-S1, 22.4R2-S1, 22.4R3, 23.2R1, and all subsequent releases.
Junos OS Evolved: 20.4R3-S8-EVO, 21.2R3-S6-EVO, 21.3R3-S5-EVO, 21.4R3-S5-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.2R1-EVO, and all subsequent releases.
workarounds: Current operational and security best practices, such as limiting the AS PATH length, should mitigate risk of this issue.
Below is an example configuration to limit AS PATH to 30 entries:
set groups BASE-POLICY policy-options policy-statement MaxAS-Limit-30 term more-than-30 from protocol bgp
set groups BASE-POLICY policy-options policy-statement MaxAS-Limit-30 term more-than-30 from as-path 31as
set groups BASE-POLICY policy-options policy-statement MaxAS-Limit-30 term more-than-30 then reject
set groups BASE-POLICY policy-options policy-statement MaxAS-Limit-30 then accept
set groups BASE-POLICY policy-options policy-statement Customer-IN term MaxAS-Limit from policy MaxAS-Limit-30
set groups BASE-BGP protocols bgp group <*-CUSTOMER> import Customer-IN
set groups BASE-PREFIX-LISTS policy-options as-path 31as ".{31,}"