An Improper Input Validation 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 a BGP update message is received over an established BGP session, and that message contains a specific, optional transitive attribute, this session will be torn down with an update message error. This issue cannot propagate beyond an affected system as the processing error occurs as soon as the update is received. This issue is exploitable remotely as the respective attribute can propagate through unaffected systems and intermediate AS (if any). Continuous receipt of a BGP update containing this attribute will create a sustained Denial of Service (DoS) condition. Some customers have experienced these BGP session flaps which prompted Juniper SIRT to release this advisory out of cycle before fixed releases are widely available as there is an effective workaround.
This issue affects: Juniper Networks Junos OS 15.1R1 and later versions prior to 20.4R3-S8; 21.1 version 21.1R1 and later versions prior to 21.2R3-S6; 21.3 versions prior to 21.3R3-S5; 21.4 versions prior to 21.4R3-S4; 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; 23.1 versions prior to 23.1R1-S1, 23.1R2.
Juniper Networks Junos OS Evolved All versions prior to 20.4R3-S8-EVO; 21.1 version 21.1R1-EVO and later versions prior to 21.2R3-S6-EVO; 21.3 versions prior to 21.3R3-S5-EVO; 21.4 versions prior to 21.4R3-S4-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; 23.1 versions prior to 23.1R1-S1-EVO, 23.1R2-EVO.
The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Junos | Juniper | 15.1 (including) | 20.4 (excluding) |
Junos | Juniper | 20.4 (including) | 20.4 (including) |
Junos | Juniper | 20.4-r1 (including) | 20.4-r1 (including) |
Junos | Juniper | 20.4-r1-s1 (including) | 20.4-r1-s1 (including) |
Junos | Juniper | 20.4-r2 (including) | 20.4-r2 (including) |
Junos | Juniper | 20.4-r2-s1 (including) | 20.4-r2-s1 (including) |
Junos | Juniper | 20.4-r2-s2 (including) | 20.4-r2-s2 (including) |
Junos | Juniper | 20.4-r3 (including) | 20.4-r3 (including) |
Junos | Juniper | 20.4-r3-s1 (including) | 20.4-r3-s1 (including) |
Junos | Juniper | 20.4-r3-s2 (including) | 20.4-r3-s2 (including) |
Junos | Juniper | 20.4-r3-s3 (including) | 20.4-r3-s3 (including) |
Junos | Juniper | 20.4-r3-s4 (including) | 20.4-r3-s4 (including) |
Junos | Juniper | 20.4-r3-s5 (including) | 20.4-r3-s5 (including) |
Junos | Juniper | 20.4-r3-s6 (including) | 20.4-r3-s6 (including) |
Junos | Juniper | 20.4-r3-s7 (including) | 20.4-r3-s7 (including) |
Junos | Juniper | 21.1 (including) | 21.1 (including) |
Junos | Juniper | 21.1-r1 (including) | 21.1-r1 (including) |
Junos | Juniper | 21.1-r1-s1 (including) | 21.1-r1-s1 (including) |
Junos | Juniper | 21.1-r2 (including) | 21.1-r2 (including) |
Junos | Juniper | 21.1-r2-s1 (including) | 21.1-r2-s1 (including) |
Junos | Juniper | 21.1-r2-s2 (including) | 21.1-r2-s2 (including) |
Junos | Juniper | 21.1-r3 (including) | 21.1-r3 (including) |
Junos | Juniper | 21.1-r3-s1 (including) | 21.1-r3-s1 (including) |
Junos | Juniper | 21.1-r3-s2 (including) | 21.1-r3-s2 (including) |
Junos | Juniper | 21.1-r3-s3 (including) | 21.1-r3-s3 (including) |
Junos | Juniper | 21.1-r3-s4 (including) | 21.1-r3-s4 (including) |
Junos | Juniper | 21.1-r3-s5 (including) | 21.1-r3-s5 (including) |
Junos | Juniper | 21.2 (including) | 21.2 (including) |
Junos | Juniper | 21.2-r1 (including) | 21.2-r1 (including) |
Junos | Juniper | 21.2-r1-s1 (including) | 21.2-r1-s1 (including) |
Junos | Juniper | 21.2-r1-s2 (including) | 21.2-r1-s2 (including) |
Junos | Juniper | 21.2-r2 (including) | 21.2-r2 (including) |
Junos | Juniper | 21.2-r2-s1 (including) | 21.2-r2-s1 (including) |
Junos | Juniper | 21.2-r2-s2 (including) | 21.2-r2-s2 (including) |
Junos | Juniper | 21.2-r3 (including) | 21.2-r3 (including) |
Junos | Juniper | 21.2-r3-s1 (including) | 21.2-r3-s1 (including) |
Junos | Juniper | 21.2-r3-s2 (including) | 21.2-r3-s2 (including) |
Junos | Juniper | 21.2-r3-s3 (including) | 21.2-r3-s3 (including) |
Junos | Juniper | 21.2-r3-s4 (including) | 21.2-r3-s4 (including) |
Junos | Juniper | 21.2-r3-s5 (including) | 21.2-r3-s5 (including) |
Junos | Juniper | 21.3 (including) | 21.3 (including) |
Junos | Juniper | 21.3-r1 (including) | 21.3-r1 (including) |
Junos | Juniper | 21.3-r1-s1 (including) | 21.3-r1-s1 (including) |
Junos | Juniper | 21.3-r1-s2 (including) | 21.3-r1-s2 (including) |
Junos | Juniper | 21.3-r2 (including) | 21.3-r2 (including) |
Junos | Juniper | 21.3-r2-s1 (including) | 21.3-r2-s1 (including) |
Junos | Juniper | 21.3-r2-s2 (including) | 21.3-r2-s2 (including) |
Junos | Juniper | 21.3-r3 (including) | 21.3-r3 (including) |
Junos | Juniper | 21.3-r3-s1 (including) | 21.3-r3-s1 (including) |
Junos | Juniper | 21.3-r3-s2 (including) | 21.3-r3-s2 (including) |
Junos | Juniper | 21.3-r3-s3 (including) | 21.3-r3-s3 (including) |
Junos | Juniper | 21.3-r3-s4 (including) | 21.3-r3-s4 (including) |
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 | 22.1-r1 (including) | 22.1-r1 (including) |
Junos | Juniper | 22.1-r1-s1 (including) | 22.1-r1-s1 (including) |
Junos | Juniper | 22.1-r1-s2 (including) | 22.1-r1-s2 (including) |
Junos | Juniper | 22.1-r2 (including) | 22.1-r2 (including) |
Junos | Juniper | 22.1-r2-s1 (including) | 22.1-r2-s1 (including) |
Junos | Juniper | 22.1-r2-s2 (including) | 22.1-r2-s2 (including) |
Junos | Juniper | 22.1-r3 (including) | 22.1-r3 (including) |
Junos | Juniper | 22.1-r3-s1 (including) | 22.1-r3-s1 (including) |
Junos | Juniper | 22.1-r3-s2 (including) | 22.1-r3-s2 (including) |
Junos | Juniper | 22.1-r3-s3 (including) | 22.1-r3-s3 (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.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.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) |
Input validation is a frequently-used technique for checking potentially dangerous inputs in order to ensure that the inputs are safe for processing within the code, or when communicating with other components. Input can consist of:
Data can be simple or structured. Structured data can be composed of many nested layers, composed of combinations of metadata and raw data, with other simple or structured data. Many properties of raw data or metadata may need to be validated upon entry into the code, such as:
Implied or derived properties of data must often be calculated or inferred by the code itself. Errors in deriving properties may be considered a contributing factor to improper input validation.