A Reachable Assertion vulnerability in the routing protocol daemon (rpd) of Juniper Networks Junos OS and Junos OS Evolved allows an adjacent, unauthenticated attacker to cause a Denial of Service (DoS).On all Junos OS and Junos OS Evolved devices, when route validation is enabled, a rare condition during BGP initial session establishment can lead to an rpd crash and restart. This occurs specifically when the connection request fails during error-handling scenario.
Continued session establishment failures leads to a sustained DoS condition.
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 | * | 22.2 (excluding) |
| Junos | Juniper | 22.2 (including) | 22.2 (including) |
| Junos | Juniper | 22.2-r1 (including) | 22.2-r1 (including) |
| Junos | Juniper | 22.2-r1-s1 (including) | 22.2-r1-s1 (including) |
| Junos | Juniper | 22.2-r1-s2 (including) | 22.2-r1-s2 (including) |
| Junos | Juniper | 22.2-r2 (including) | 22.2-r2 (including) |
| Junos | Juniper | 22.2-r2-s1 (including) | 22.2-r2-s1 (including) |
| Junos | Juniper | 22.2-r2-s2 (including) | 22.2-r2-s2 (including) |
| Junos | Juniper | 22.2-r3 (including) | 22.2-r3 (including) |
| Junos | Juniper | 22.2-r3-s1 (including) | 22.2-r3-s1 (including) |
| Junos | Juniper | 22.2-r3-s2 (including) | 22.2-r3-s2 (including) |
| Junos | Juniper | 22.2-r3-s3 (including) | 22.2-r3-s3 (including) |
| Junos | Juniper | 22.2-r3-s4 (including) | 22.2-r3-s4 (including) |
| Junos | Juniper | 22.2-r3-s5 (including) | 22.2-r3-s5 (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 | 22.4-r3-s5 (including) | 22.4-r3-s5 (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.2-r2 (including) | 23.2-r2 (including) |
| Junos | Juniper | 23.2-r2-s1 (including) | 23.2-r2-s1 (including) |
| Junos | Juniper | 23.2-r2-s2 (including) | 23.2-r2-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 | Juniper | 23.4-r2 (including) | 23.4-r2 (including) |
| Junos | Juniper | 23.4-r2-s1 (including) | 23.4-r2-s1 (including) |
| Junos | Juniper | 23.4-r2-s2 (including) | 23.4-r2-s2 (including) |
| Junos | Juniper | 23.4-r2-s3 (including) | 23.4-r2-s3 (including) |
| Junos | Juniper | 24.2 (including) | 24.2 (including) |
| Junos | Juniper | 24.2-r1 (including) | 24.2-r1 (including) |
| Junos | Juniper | 24.2-r1-s1 (including) | 24.2-r1-s1 (including) |
| Junos | Juniper | 24.2-r1-s2 (including) | 24.2-r1-s2 (including) |
| Junos_os_evolved | Juniper | * | 22.2 (excluding) |
| Junos_os_evolved | Juniper | 22.2 (including) | 22.2 (including) |
| Junos_os_evolved | Juniper | 22.2-r1 (including) | 22.2-r1 (including) |
| Junos_os_evolved | Juniper | 22.2-r1-s1 (including) | 22.2-r1-s1 (including) |
| Junos_os_evolved | Juniper | 22.2-r1-s2 (including) | 22.2-r1-s2 (including) |
| Junos_os_evolved | Juniper | 22.2-r2 (including) | 22.2-r2 (including) |
| Junos_os_evolved | Juniper | 22.2-r2-s1 (including) | 22.2-r2-s1 (including) |
| Junos_os_evolved | Juniper | 22.2-r2-s2 (including) | 22.2-r2-s2 (including) |
| Junos_os_evolved | Juniper | 22.2-r3 (including) | 22.2-r3 (including) |
| Junos_os_evolved | Juniper | 22.2-r3-s1 (including) | 22.2-r3-s1 (including) |
| Junos_os_evolved | Juniper | 22.2-r3-s2 (including) | 22.2-r3-s2 (including) |
| Junos_os_evolved | Juniper | 22.2-r3-s3 (including) | 22.2-r3-s3 (including) |
| Junos_os_evolved | Juniper | 22.2-r3-s4 (including) | 22.2-r3-s4 (including) |
| Junos_os_evolved | Juniper | 22.2-r3-s5 (including) | 22.2-r3-s5 (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 | 22.4-r3-s5 (including) | 22.4-r3-s5 (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.2-r2 (including) | 23.2-r2 (including) |
| Junos_os_evolved | Juniper | 23.2-r2-s1 (including) | 23.2-r2-s1 (including) |
| Junos_os_evolved | Juniper | 23.2-r2-s2 (including) | 23.2-r2-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) |
| Junos_os_evolved | Juniper | 23.4-r2 (including) | 23.4-r2 (including) |
| Junos_os_evolved | Juniper | 23.4-r2-s1 (including) | 23.4-r2-s1 (including) |
| Junos_os_evolved | Juniper | 23.4-r2-s2 (including) | 23.4-r2-s2 (including) |
| Junos_os_evolved | Juniper | 23.4-r2-s3 (including) | 23.4-r2-s3 (including) |
| Junos_os_evolved | Juniper | 24.2 (including) | 24.2 (including) |
| Junos_os_evolved | Juniper | 24.2-r1 (including) | 24.2-r1 (including) |
| Junos_os_evolved | Juniper | 24.2-r1-s2 (including) | 24.2-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.