First published: Thu Apr 22 2021(Updated: )
A vulnerability due to the improper handling of direct memory access (DMA) buffers on EX4300 switches on Juniper Networks Junos OS allows an attacker sending specific unicast frames to trigger a Denial of Service (DoS) condition by exhausting DMA buffers, causing the FPC to crash and the device to restart. The DMA buffer leak is seen when receiving these specific, valid unicast frames on an interface without Layer 2 Protocol Tunneling (L2PT) or dot1x configured. Interfaces with either L2PT or dot1x configured are not vulnerable to this issue. When this issue occurs, DMA buffer usage keeps increasing and the following error log messages may be observed: Apr 14 14:29:34.360 /kernel: pid 64476 (pfex_junos), uid 0: exited on signal 11 (core dumped) Apr 14 14:29:33.790 init: pfe-manager (PID 64476) terminated by signal number 11. Core dumped! The DMA buffers on the FPC can be monitored by the executing vty command 'show heap': ID Base Total(b) Free(b) Used(b) % Name -- ---------- ----------- ----------- ----------- --- ----------- 0 4a46000 268435456 238230496 30204960 11 Kernel 1 18a46000 67108864 17618536 49490328 73 Bcm_sdk 2 23737000 117440512 18414552 99025960 84 DMA buf <<<<< keeps increasing 3 2a737000 16777216 16777216 0 0 DMA desc This issue affects Juniper Networks Junos OS on the EX4300: 17.3 versions prior to 17.3R3-S11; 17.4 versions prior to 17.4R2-S13, 17.4R3-S4; 18.1 versions prior to 18.1R3-S12; 18.2 versions prior to 18.2R2-S8, 18.2R3-S7; 18.3 versions prior to 18.3R3-S4; 18.4 versions prior to 18.4R1-S8, 18.4R2-S7, 18.4R3-S7; 19.1 versions prior to 19.1R1-S6, 19.1R2-S2, 19.1R3-S4; 19.2 versions prior to 19.2R1-S6, 19.2R3-S2; 19.3 versions prior to 19.3R3-S2; 19.4 versions prior to 19.4R2-S3, 19.4R3-S1; 20.1 versions prior to 20.1R2; 20.2 versions prior to 20.2R2-S1, 20.2R3; 20.3 versions prior to 20.3R1-S1, 20.3R2.
Credit: sirt@juniper.net
Affected Software | Affected Version | How to fix |
---|---|---|
Junos OS Evolved | =17.3 | |
Junos OS Evolved | =17.3-r1 | |
Junos OS Evolved | =17.3-r1-s1 | |
Junos OS Evolved | =17.3-r1-s4 | |
Junos OS Evolved | =17.3-r2 | |
Junos OS Evolved | =17.3-r2-s1 | |
Junos OS Evolved | =17.3-r2-s2 | |
Junos OS Evolved | =17.3-r2-s3 | |
Junos OS Evolved | =17.3-r2-s4 | |
Junos OS Evolved | =17.3-r2-s5 | |
Junos OS Evolved | =17.3-r3 | |
Junos OS Evolved | =17.3-r3 | |
Junos OS Evolved | =17.3-r3-s1 | |
Junos OS Evolved | =17.3-r3-s10 | |
Junos OS Evolved | =17.3-r3-s2 | |
Junos OS Evolved | =17.3-r3-s3 | |
Junos OS Evolved | =17.3-r3-s4 | |
Junos OS Evolved | =17.3-r3-s5 | |
Junos OS Evolved | =17.3-r3-s6 | |
Junos OS Evolved | =17.3-r3-s7 | |
Junos OS Evolved | =17.3-r3-s8 | |
Junos OS Evolved | =17.3-r3-s9 | |
Junos OS Evolved | =17.4 | |
Junos OS Evolved | =17.4-r1 | |
Junos OS Evolved | =17.4-r1-s1 | |
Junos OS Evolved | =17.4-r1-s2 | |
Junos OS Evolved | =17.4-r1-s3 | |
Junos OS Evolved | =17.4-r1-s4 | |
Junos OS Evolved | =17.4-r1-s5 | |
Junos OS Evolved | =17.4-r1-s6 | |
Junos OS Evolved | =17.4-r1-s7 | |
Junos OS Evolved | =17.4-r2 | |
Junos OS Evolved | =17.4-r2-s1 | |
Junos OS Evolved | =17.4-r2-s10 | |
Junos OS Evolved | =17.4-r2-s11 | |
Junos OS Evolved | =17.4-r2-s12 | |
Junos OS Evolved | =17.4-r2-s2 | |
Junos OS Evolved | =17.4-r2-s3 | |
Junos OS Evolved | =17.4-r2-s4 | |
Junos OS Evolved | =17.4-r2-s5 | |
Junos OS Evolved | =17.4-r2-s6 | |
Junos OS Evolved | =17.4-r2-s7 | |
Junos OS Evolved | =17.4-r2-s8 | |
Junos OS Evolved | =17.4-r2-s9 | |
Junos OS Evolved | =17.4-r3 | |
Junos OS Evolved | =17.4-r3-s1 | |
Junos OS Evolved | =17.4-r3-s2 | |
Junos OS Evolved | =17.4-r3-s3 | |
Junos OS Evolved | =18.1 | |
Junos OS Evolved | =18.1-r1 | |
Junos OS Evolved | =18.1-r2 | |
Junos OS Evolved | =18.1-r2-s1 | |
Junos OS Evolved | =18.1-r2-s2 | |
Junos OS Evolved | =18.1-r2-s4 | |
Junos OS Evolved | =18.1-r3 | |
Junos OS Evolved | =18.1-r3-s1 | |
Junos OS Evolved | =18.1-r3-s10 | |
Junos OS Evolved | =18.1-r3-s11 | |
Junos OS Evolved | =18.1-r3-s2 | |
Junos OS Evolved | =18.1-r3-s3 | |
Junos OS Evolved | =18.1-r3-s4 | |
Junos OS Evolved | =18.1-r3-s5 | |
Junos OS Evolved | =18.1-r3-s6 | |
Junos OS Evolved | =18.1-r3-s7 | |
Junos OS Evolved | =18.1-r3-s8 | |
Junos OS Evolved | =18.1-r3-s9 | |
Junos OS Evolved | =18.2 | |
Junos OS Evolved | =18.2-r1 | |
Junos OS Evolved | =18.2-r1 | |
Junos OS Evolved | =18.2-r1-s2 | |
Junos OS Evolved | =18.2-r1-s3 | |
Junos OS Evolved | =18.2-r1-s4 | |
Junos OS Evolved | =18.2-r1-s5 | |
Junos OS Evolved | =18.2-r2 | |
Junos OS Evolved | =18.2-r2-s1 | |
Junos OS Evolved | =18.2-r2-s2 | |
Junos OS Evolved | =18.2-r2-s3 | |
Junos OS Evolved | =18.2-r2-s4 | |
Junos OS Evolved | =18.2-r2-s5 | |
Junos OS Evolved | =18.2-r2-s6 | |
Junos OS Evolved | =18.2-r2-s7 | |
Junos OS Evolved | =18.2-r3 | |
Junos OS Evolved | =18.2-r3-s1 | |
Junos OS Evolved | =18.2-r3-s2 | |
Junos OS Evolved | =18.2-r3-s3 | |
Junos OS Evolved | =18.2-r3-s4 | |
Junos OS Evolved | =18.2-r3-s5 | |
Junos OS Evolved | =18.2-r3-s6 | |
Junos OS Evolved | =18.3 | |
Junos OS Evolved | =18.3-r1 | |
Junos OS Evolved | =18.3-r1-s1 | |
Junos OS Evolved | =18.3-r1-s2 | |
Junos OS Evolved | =18.3-r1-s3 | |
Junos OS Evolved | =18.3-r1-s4 | |
Junos OS Evolved | =18.3-r1-s5 | |
Junos OS Evolved | =18.3-r1-s6 | |
Junos OS Evolved | =18.3-r2 | |
Junos OS Evolved | =18.3-r2-s1 | |
Junos OS Evolved | =18.3-r2-s2 | |
Junos OS Evolved | =18.3-r2-s3 | |
Junos OS Evolved | =18.3-r2-s4 | |
Junos OS Evolved | =18.3-r3 | |
Junos OS Evolved | =18.3-r3-s1 | |
Junos OS Evolved | =18.3-r3-s2 | |
Junos OS Evolved | =18.3-r3-s3 | |
Junos OS Evolved | =18.4 | |
Junos OS Evolved | =18.4-r1 | |
Junos OS Evolved | =18.4-r1-s1 | |
Junos OS Evolved | =18.4-r1-s2 | |
Junos OS Evolved | =18.4-r1-s3 | |
Junos OS Evolved | =18.4-r1-s4 | |
Junos OS Evolved | =18.4-r1-s5 | |
Junos OS Evolved | =18.4-r1-s6 | |
Junos OS Evolved | =18.4-r1-s7 | |
Junos OS Evolved | =18.4-r2 | |
Junos OS Evolved | =18.4-r2-s1 | |
Junos OS Evolved | =18.4-r2-s2 | |
Junos OS Evolved | =18.4-r2-s3 | |
Junos OS Evolved | =18.4-r2-s4 | |
Junos OS Evolved | =18.4-r2-s5 | |
Junos OS Evolved | =18.4-r2-s6 | |
Junos OS Evolved | =18.4-r3 | |
Junos OS Evolved | =18.4-r3-s1 | |
Junos OS Evolved | =18.4-r3-s2 | |
Junos OS Evolved | =18.4-r3-s3 | |
Junos OS Evolved | =18.4-r3-s4 | |
Junos OS Evolved | =18.4-r3-s5 | |
Junos OS Evolved | =18.4-r3-s6 | |
Junos OS Evolved | =19.1 | |
Junos OS Evolved | =19.1-r1 | |
Junos OS Evolved | =19.1-r1-s1 | |
Junos OS Evolved | =19.1-r1-s2 | |
Junos OS Evolved | =19.1-r1-s3 | |
Junos OS Evolved | =19.1-r1-s4 | |
Junos OS Evolved | =19.1-r1-s5 | |
Junos OS Evolved | =19.1-r2 | |
Junos OS Evolved | =19.1-r2-s1 | |
Junos OS Evolved | =19.1-r3 | |
Junos OS Evolved | =19.1-r3-s1 | |
Junos OS Evolved | =19.1-r3-s2 | |
Junos OS Evolved | =19.1-r3-s3 | |
Junos OS Evolved | =19.2 | |
Junos OS Evolved | =19.2-r1 | |
Junos OS Evolved | =19.2-r1-s1 | |
Junos OS Evolved | =19.2-r1-s2 | |
Junos OS Evolved | =19.2-r1-s3 | |
Junos OS Evolved | =19.2-r1-s4 | |
Junos OS Evolved | =19.2-r1-s5 | |
Junos OS Evolved | =19.2-r2 | |
Junos OS Evolved | =19.2-r2-s1 | |
Junos OS Evolved | =19.2-r3 | |
Junos OS Evolved | =19.2-r3-s1 | |
Junos OS Evolved | =19.3 | |
Junos OS Evolved | =19.3-r1 | |
Junos OS Evolved | =19.3-r1-s1 | |
Junos OS Evolved | =19.3-r2 | |
Junos OS Evolved | =19.3-r2-s1 | |
Junos OS Evolved | =19.3-r2-s2 | |
Junos OS Evolved | =19.3-r2-s3 | |
Junos OS Evolved | =19.3-r2-s4 | |
Junos OS Evolved | =19.3-r2-s5 | |
Junos OS Evolved | =19.3-r3 | |
Junos OS Evolved | =19.4-r1 | |
Junos OS Evolved | =19.4-r1-s1 | |
Junos OS Evolved | =19.4-r1-s2 | |
Junos OS Evolved | =19.4-r2 | |
Junos OS Evolved | =19.4-r2-s1 | |
Junos OS Evolved | =19.4-r2-s2 | |
Junos OS Evolved | =19.4-r3 | |
Junos OS Evolved | =20.1-r1 | |
Junos OS Evolved | =20.1-r1-s1 | |
Junos OS Evolved | =20.1-r1-s2 | |
Junos OS Evolved | =20.1-r1-s3 | |
Junos OS Evolved | =20.1-r1-s4 | |
Junos OS Evolved | =20.2-r1 | |
Junos OS Evolved | =20.2-r1-s1 | |
Junos OS Evolved | =20.2-r1-s2 | |
Junos OS Evolved | =20.2-r1-s3 | |
Junos OS Evolved | =20.2-r2 | |
Junos OS Evolved | =20.3-r1 | |
Juniper EX4300-24T |
The following software releases have been updated to resolve this specific issue: Junos OS 17.3R3-S11, 17.4R2-S13, 17.4R3-S4, 18.1R3-S12, 18.2R2-S8, 18.2R3-S7, 18.3R3-S4, 18.4R1-S8, 18.4R2-S7, 18.4R3-S7, 19.1R1-S6, 19.1R2-S2, 19.1R3-S4, 19.2R1-S6, 19.2R3-S2, 19.3R3-S2, 19.4R2-S3, 19.4R3-S1, 20.1R2, 20.2R2-S1, 20.2R3, 20.3R1-S1, 20.3R2, 20.4R1, and all subsequent releases.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2021-0242 is rated as High severity due to its potential to cause a Denial of Service condition on affected Juniper EX4300 switches.
To fix CVE-2021-0242, update your Junos OS to a version that addresses this vulnerability, as detailed in Juniper's security advisory.
CVE-2021-0242 affects Juniper EX4300 switches running specific versions of Junos OS, particularly version 17.3 and 18.1, among others.
The vulnerability allows attackers to exhaust DMA buffers, leading to a crash of the forwarding processor on affected switches, resulting in service disruption.
As of now, there is no publicly available exploit for CVE-2021-0242, but it could potentially be exploited under specific conditions.