A Reachable Assertion 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 the device receives a specific BGP UPDATE packet, the rpd crashes and restarts. Continuous receipt of this specific packet will cause a sustained DoS condition.
For the issue to occur, BGP multipath with pause-computation-during-churn must be configured on the device, and the attacker must send the paths via a BGP UPDATE from a established BGP peer.
This issue affects: Junos OS:
Junos OS Evolved:
The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Junos | Juniper | * | 21.4 (excluding) |
| Junos | Juniper | 21.4 (including) | 21.4 (including) |
| Junos | Juniper | 21.4-r1 (including) | 21.4-r1 (including) |
| Junos | Juniper | 21.4-r1-s1 (including) | 21.4-r1-s1 (including) |
| Junos | Juniper | 21.4-r1-s2 (including) | 21.4-r1-s2 (including) |
| Junos | Juniper | 21.4-r2 (including) | 21.4-r2 (including) |
| Junos | Juniper | 21.4-r2-s1 (including) | 21.4-r2-s1 (including) |
| Junos | Juniper | 21.4-r2-s2 (including) | 21.4-r2-s2 (including) |
| Junos | Juniper | 21.4-r3 (including) | 21.4-r3 (including) |
| Junos | Juniper | 21.4-r3-s1 (including) | 21.4-r3-s1 (including) |
| Junos | Juniper | 21.4-r3-s2 (including) | 21.4-r3-s2 (including) |
| Junos | Juniper | 21.4-r3-s3 (including) | 21.4-r3-s3 (including) |
| Junos | Juniper | 21.4-r3-s4 (including) | 21.4-r3-s4 (including) |
| Junos | Juniper | 21.4-r3-s5 (including) | 21.4-r3-s5 (including) |
| Junos | Juniper | 21.4-r3-s6 (including) | 21.4-r3-s6 (including) |
| Junos | Juniper | 22.3 (including) | 22.3 (including) |
| Junos | Juniper | 22.3-r1 (including) | 22.3-r1 (including) |
| Junos | Juniper | 22.3-r1-s1 (including) | 22.3-r1-s1 (including) |
| Junos | Juniper | 22.3-r1-s2 (including) | 22.3-r1-s2 (including) |
| Junos | Juniper | 22.3-r2 (including) | 22.3-r2 (including) |
| Junos | Juniper | 22.3-r2-s1 (including) | 22.3-r2-s1 (including) |
| Junos | Juniper | 22.3-r2-s2 (including) | 22.3-r2-s2 (including) |
| Junos | Juniper | 22.3-r3 (including) | 22.3-r3 (including) |
| Junos | Juniper | 22.3-r3-s1 (including) | 22.3-r3-s1 (including) |
| Junos | Juniper | 22.3-r3-s2 (including) | 22.3-r3-s2 (including) |
| Junos | Juniper | 22.4 (including) | 22.4 (including) |
| Junos | Juniper | 22.4-r1 (including) | 22.4-r1 (including) |
| Junos | Juniper | 22.4-r1-s1 (including) | 22.4-r1-s1 (including) |
| Junos | Juniper | 22.4-r1-s2 (including) | 22.4-r1-s2 (including) |
| Junos | Juniper | 22.4-r2 (including) | 22.4-r2 (including) |
| Junos | Juniper | 22.4-r2-s1 (including) | 22.4-r2-s1 (including) |
| Junos | Juniper | 22.4-r2-s2 (including) | 22.4-r2-s2 (including) |
| Junos | Juniper | 22.4-r3 (including) | 22.4-r3 (including) |
| Junos | Juniper | 22.4-r3-s1 (including) | 22.4-r3-s1 (including) |
| Junos | Juniper | 22.4-r3-s2 (including) | 22.4-r3-s2 (including) |
| Junos | Juniper | 22.4-r3-s3 (including) | 22.4-r3-s3 (including) |
| Junos | Juniper | 22.4-r3-s4 (including) | 22.4-r3-s4 (including) |
| Junos | Juniper | 23.2 (including) | 23.2 (including) |
| Junos | Juniper | 23.2-r1 (including) | 23.2-r1 (including) |
| Junos | Juniper | 23.2-r1-s1 (including) | 23.2-r1-s1 (including) |
| Junos | Juniper | 23.2-r1-s2 (including) | 23.2-r1-s2 (including) |
| Junos | Juniper | 23.4 (including) | 23.4 (including) |
| Junos | Juniper | 23.4-r1 (including) | 23.4-r1 (including) |
| Junos | Juniper | 23.4-r1-s1 (including) | 23.4-r1-s1 (including) |
| Junos | Juniper | 23.4-r1-s2 (including) | 23.4-r1-s2 (including) |
| Junos_os_evolved | Juniper | * | 21.4 (excluding) |
| Junos_os_evolved | Juniper | 21.4 (including) | 21.4 (including) |
| Junos_os_evolved | Juniper | 21.4-r1 (including) | 21.4-r1 (including) |
| Junos_os_evolved | Juniper | 21.4-r1-s1 (including) | 21.4-r1-s1 (including) |
| Junos_os_evolved | Juniper | 21.4-r1-s2 (including) | 21.4-r1-s2 (including) |
| Junos_os_evolved | Juniper | 21.4-r2 (including) | 21.4-r2 (including) |
| Junos_os_evolved | Juniper | 21.4-r2-s1 (including) | 21.4-r2-s1 (including) |
| Junos_os_evolved | Juniper | 21.4-r2-s2 (including) | 21.4-r2-s2 (including) |
| Junos_os_evolved | Juniper | 21.4-r3 (including) | 21.4-r3 (including) |
| Junos_os_evolved | Juniper | 21.4-r3-s1 (including) | 21.4-r3-s1 (including) |
| Junos_os_evolved | Juniper | 21.4-r3-s2 (including) | 21.4-r3-s2 (including) |
| Junos_os_evolved | Juniper | 21.4-r3-s3 (including) | 21.4-r3-s3 (including) |
| Junos_os_evolved | Juniper | 21.4-r3-s4 (including) | 21.4-r3-s4 (including) |
| Junos_os_evolved | Juniper | 21.4-r3-s5 (including) | 21.4-r3-s5 (including) |
| Junos_os_evolved | Juniper | 21.4-r3-s6 (including) | 21.4-r3-s6 (including) |
| Junos_os_evolved | Juniper | 22.3 (including) | 22.3 (including) |
| Junos_os_evolved | Juniper | 22.3-r1 (including) | 22.3-r1 (including) |
| Junos_os_evolved | Juniper | 22.3-r1-s1 (including) | 22.3-r1-s1 (including) |
| Junos_os_evolved | Juniper | 22.3-r1-s2 (including) | 22.3-r1-s2 (including) |
| Junos_os_evolved | Juniper | 22.3-r2 (including) | 22.3-r2 (including) |
| Junos_os_evolved | Juniper | 22.3-r2-s1 (including) | 22.3-r2-s1 (including) |
| Junos_os_evolved | Juniper | 22.3-r2-s2 (including) | 22.3-r2-s2 (including) |
| Junos_os_evolved | Juniper | 22.3-r3 (including) | 22.3-r3 (including) |
| Junos_os_evolved | Juniper | 22.3-r3-s1 (including) | 22.3-r3-s1 (including) |
| Junos_os_evolved | Juniper | 22.3-r3-s2 (including) | 22.3-r3-s2 (including) |
| Junos_os_evolved | Juniper | 22.4 (including) | 22.4 (including) |
| Junos_os_evolved | Juniper | 22.4-r1 (including) | 22.4-r1 (including) |
| Junos_os_evolved | Juniper | 22.4-r1-s1 (including) | 22.4-r1-s1 (including) |
| Junos_os_evolved | Juniper | 22.4-r1-s2 (including) | 22.4-r1-s2 (including) |
| Junos_os_evolved | Juniper | 22.4-r2 (including) | 22.4-r2 (including) |
| Junos_os_evolved | Juniper | 22.4-r2-s1 (including) | 22.4-r2-s1 (including) |
| Junos_os_evolved | Juniper | 22.4-r2-s2 (including) | 22.4-r2-s2 (including) |
| Junos_os_evolved | Juniper | 22.4-r3 (including) | 22.4-r3 (including) |
| Junos_os_evolved | Juniper | 22.4-r3-s1 (including) | 22.4-r3-s1 (including) |
| Junos_os_evolved | Juniper | 22.4-r3-s2 (including) | 22.4-r3-s2 (including) |
| Junos_os_evolved | Juniper | 22.4-r3-s3 (including) | 22.4-r3-s3 (including) |
| Junos_os_evolved | Juniper | 22.4-r3-s4 (including) | 22.4-r3-s4 (including) |
| Junos_os_evolved | Juniper | 23.2 (including) | 23.2 (including) |
| Junos_os_evolved | Juniper | 23.2-r1 (including) | 23.2-r1 (including) |
| Junos_os_evolved | Juniper | 23.2-r1-s1 (including) | 23.2-r1-s1 (including) |
| Junos_os_evolved | Juniper | 23.2-r1-s2 (including) | 23.2-r1-s2 (including) |
| Junos_os_evolved | Juniper | 23.4 (including) | 23.4 (including) |
| Junos_os_evolved | Juniper | 23.4-r1 (including) | 23.4-r1 (including) |
| Junos_os_evolved | Juniper | 23.4-r1-s1 (including) | 23.4-r1-s1 (including) |
| Junos_os_evolved | Juniper | 23.4-r1-s2 (including) | 23.4-r1-s2 (including) |
While assertion is good for catching logic errors and reducing the chances of reaching more serious vulnerability conditions, it can still lead to a denial of service. For example, if a server handles multiple simultaneous connections, and an assert() occurs in one single connection that causes all other connections to be dropped, this is a reachable assertion that leads to a denial of service.