Product Affected

This issue affects all versions of Junos OS This issue affects all versions of Junos OS Evolved.
High
7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)

Problem

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.


Nonstop Active Routing is enabled using the following configuration:

[edit chassis redundancy]
graceful-switchover;

[edit routing-options]
nonstop-routing;


Juniper SIRT is not aware of any malicious exploitation of this vulnerability.

This issue was discovered during external security research.

This issue has been assigned CVE-2023-44186.

Solution

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.


This issue is being tracked as PR 1736029 which is visible on the Customer Support website.


Note: Juniper SIRT's policy [juniper.net] is not to evaluate releases which are beyond End of Engineering (EOE) or End of Life (EOL).

Workaround

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,}"

Severity Assessment

Information for how Juniper Networks uses CVSS can be found at KB 16446 [juniper.net] "Common Vulnerability Scoring System (CVSS) and Juniper's Security Advisories."

Modification History

2023-10-11: Initial Publication
2023-10-16: Clarified that the SRX Series is not affected by this vulnerability
2024-03-05: Updated affected/fixed releases to convey that 23.2R1 and all subsequent releases are fixed.

Related Information