CVE-2024-39554

Junos OS and Junos OS Evolved: BGP multipath incremental calculation is resulting in an rpd crash

Published Jul 10, 2024 CVSS 4.0 · 8.2 High EPSS < 1% KEV · Not listed
Description
A Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') vulnerability the

Routing Protocol Daemon (rpd)

of Juniper Networks Junos OS and Juniper Networks Junos OS Evolved allows an unauthenticated, network-based attacker to inject incremental routing updates when BGP multipath is enabled, causing rpd to crash and restart, resulting in a Denial of Service (DoS). Since this is a timing issue (race condition), the successful exploitation of this vulnerability is outside the attacker's control.  However, continued receipt and processing of this packet may create a sustained Denial of Service (DoS) condition.

On all Junos OS and Junos OS Evolved platforms with BGP multipath enabled, a specific multipath calculation removes the original next hop from the multipath lead routes nexthop-set. When this change happens, multipath relies on certain internal timing to record the update.  Under certain circumstance and with specific timing, this could result in an rpd crash.

This issue only affects systems with BGP multipath enabled.


This issue affects:

Junos OS:


* All versions of 21.1
* from 21.2 before 21.2R3-S7,
* from 21.4 before 21.4R3-S6,
* from 22.1 before 22.1R3-S5,
* from 22.2 before 22.2R3-S3,
* from 22.3 before 22.3R3-S2,
* from 22.4 before 22.4R3,
* from 23.2 before 23.2R2.




Junos OS Evolved:


* All versions of 21.1-EVO,
* All versions of 21.2-EVO,
* from 21.4-EVO before 21.4R3-S6-EVO,
* from 22.1-EVO before 22.1R3-S5-EVO,
* from 22.2-EVO before 22.2R3-S3-EVO,
* from 22.3-EVO before 22.3R3-S2-EVO,
* from 22.4-EVO before 22.4R3-EVO,
* from 23.2-EVO before 23.2R2-EVO.



Versions of Junos OS before 21.1R1 are unaffected by this vulnerability.
Versions of Junos OS Evolved before 21.1R1-EVO are unaffected by this vulnerability.

Remediation

Vendor Solution

The following software releases have been updated to resolve this specific issue: Junos OS: 21.2R3-S7, 21.4R3-S6, 22.1R3-S5, 22.2R3-S3, 22.3R3-S2, 22.4R3, 23.2R2, 23.4R1, and all subsequent releases. Junos OS Evolved: 21.4R3-S6-EVO, 22.1R3-S5-EVO, 22.2R3-S3-EVO, 22.3R3-S2-EVO, 22.4R3-EVO, 23.2R2-EVO, 23.4R1-EVO, and all subsequent releases.


Vendor Workaround

There are no known workarounds for this issue.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-38080 A Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') vulnerability the Routing Protocol Daemon (rpd) of Juniper Networks Junos OS and Juniper Networks Junos OS Evolved allows an unauthenticated, network-based attacker to inject incremental routing updates when BGP multipath is enabled, causing rpd to crash and restart, resulting in a Denial of Service (DoS). Since this is a timing issue (race condition), the successful exploitation of this vulnerability is outside the attacker's control.  However, continued receipt and processing of this packet may create a sustained Denial of Service (DoS) condition. On all Junos OS and Junos OS Evolved platforms with BGP multipath enabled, a specific multipath calculation removes the original next hop from the multipath lead routes nexthop-set. When this change happens, multipath relies on certain internal timing to record the update.  Under certain circumstance and with specific timing, this could result in an rpd crash. This issue only affects systems with BGP multipath enabled. This issue affects: Junos OS: * All versions of 21.1 * from 21.2 before 21.2R3-S7, * from 21.4 before 21.4R3-S6, * from 22.1 before 22.1R3-S5, * from 22.2 before 22.2R3-S3, * from 22.3 before 22.3R3-S2, * from 22.4 before 22.4R3, * from 23.2 before 23.2R2. Junos OS Evolved: * All versions of 21.1-EVO, * All versions of 21.2-EVO, * from 21.4-EVO before 21.4R3-S6-EVO, * from 22.1-EVO before 22.1R3-S5-EVO, * from 22.2-EVO before 22.2R3-S3-EVO, * from 22.3-EVO before 22.3R3-S2-EVO, * from 22.4-EVO before 22.4R3-EVO, * from 23.2-EVO before 23.2R2-EVO. Versions of Junos OS before 21.1R1 are unaffected by this vulnerability. Versions of Junos OS Evolved before 21.1R1-EVO are unaffected by this vulnerability.
References
History
Type Values Removed Values Added
CPEs cpe:2.3:o:juniper:junos:*:*:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3-s4:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3-s5:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3-s6:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.2:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r3-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r3-s4:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r3-s5:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:21.4:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r3-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r3-s4:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.1:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.2:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.3:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:22.4:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:23.2:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:23.2:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:23.2:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos:23.2:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r3-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r3-s4:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r3-s5:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:21.4:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r3-s3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r3-s4:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.1:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r3-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.2:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r3-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.3:r3:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:r1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:r2-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:r2-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:22.4:r2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:23.2:-:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:23.2:r1-s1:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:23.2:r1-s2:*:*:*:*:*:*
cpe:2.3:o:juniper:junos_os_evolved:23.2:r1:*:*:*:*:*:*
Weaknesses

Sources

Status
PUBLISHED
Assigner
juniper
Published
Updated
Aug 2, 2024, 4:26 AM
Reserved
Jun 25, 2024, 3:12 PM
Status
Analyzed
Published
Jul 10, 2024, 11:15 PM
Modified
Jun 17, 2026, 7:42 AM