First published: Thu Jan 12 2023(Updated: )
An Unchecked Input for Loop Condition vulnerability in a NAT library of Juniper Networks Junos OS allows a local authenticated attacker with low privileges to cause a Denial of Service (DoS). When an inconsistent "deterministic NAT" configuration is present on an SRX, or MX with SPC3 and then a specific CLI command is issued the SPC will crash and restart. Repeated execution of this command will lead to a sustained DoS. Such a configuration is characterized by the total number of port blocks being greater than the total number of hosts. An example for such configuration is: [ services nat source pool TEST-POOL address x.x.x.0/32 to x.x.x.15/32 ] [ services nat source pool TEST-POOL port deterministic block-size 1008 ] [ services nat source pool TEST-POOL port deterministic host address y.y.y.0/24] [ services nat source pool TEST-POOL port deterministic include-boundary-addresses] where according to the following calculation: 65536-1024=64512 (number of usable ports per IP address, implicit) 64512/1008=64 (number of port blocks per Nat IP) x.x.x.0/32 to x.x.x.15/32 = 16 (NAT IP addresses available in NAT pool) total port blocks in NAT Pool = 64 blocks per IP * 16 IPs = 1024 Port blocks host address y.y.y.0/24 = 256 hosts (with include-boundary-addresses) If the port block size is configured to be 4032, then the total port blocks are (64512/4032) * 16 = 256 which is equivalent to the total host addresses of 256, and the issue will not be seen. This issue affects Juniper Networks Junos OS on SRX Series, and MX Series with SPC3: All versions prior to 19.4R3-S10; 20.1 version 20.1R1 and later versions; 20.2 versions prior to 20.2R3-S6; 20.3 versions prior to 20.3R3-S6; 20.4 versions prior to 20.4R3-S5; 21.1 versions prior to 21.1R3-S4; 21.2 versions prior to 21.2R3-S3; 21.3 versions prior to 21.3R3-S3; 21.4 versions prior to 21.4R3-S1; 22.1 versions prior to 22.1R2-S2, 22.1R3; 22.2 versions prior to 22.2R2.
Credit: sirt@juniper.net
Affected Software | Affected Version | How to fix |
---|---|---|
Junos OS Evolved | <19.4 | |
Junos OS Evolved | =19.4 | |
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-r1-s3 | |
Junos OS Evolved | =19.4-r1-s4 | |
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-r2-s3 | |
Junos OS Evolved | =19.4-r2-s4 | |
Junos OS Evolved | =19.4-r2-s5 | |
Junos OS Evolved | =19.4-r2-s6 | |
Junos OS Evolved | =19.4-r2-s7 | |
Junos OS Evolved | =19.4-r3 | |
Junos OS Evolved | =19.4-r3-s1 | |
Junos OS Evolved | =19.4-r3-s2 | |
Junos OS Evolved | =19.4-r3-s3 | |
Junos OS Evolved | =19.4-r3-s4 | |
Junos OS Evolved | =19.4-r3-s5 | |
Junos OS Evolved | =19.4-r3-s6 | |
Junos OS Evolved | =19.4-r3-s7 | |
Junos OS Evolved | =19.4-r3-s8 | |
Junos OS Evolved | =19.4-r3-s9 | |
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.1-r2 | |
Junos OS Evolved | =20.1-r2-s1 | |
Junos OS Evolved | =20.1-r2-s2 | |
Junos OS Evolved | =20.1-r3 | |
Junos OS Evolved | =20.1-r3-s1 | |
Junos OS Evolved | =20.1-r3-s2 | |
Junos OS Evolved | =20.1-r3-s3 | |
Junos OS Evolved | =20.1-r3-s4 | |
Junos OS Evolved | =20.2 | |
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.2-r2-s1 | |
Junos OS Evolved | =20.2-r2-s2 | |
Junos OS Evolved | =20.2-r2-s3 | |
Junos OS Evolved | =20.2-r3 | |
Junos OS Evolved | =20.2-r3-s1 | |
Junos OS Evolved | =20.2-r3-s2 | |
Junos OS Evolved | =20.2-r3-s3 | |
Junos OS Evolved | =20.2-r3-s4 | |
Junos OS Evolved | =20.2-r3-s5 | |
Junos OS Evolved | =20.3 | |
Junos OS Evolved | =20.3-r1 | |
Junos OS Evolved | =20.3-r1-s1 | |
Junos OS Evolved | =20.3-r1-s2 | |
Junos OS Evolved | =20.3-r2 | |
Junos OS Evolved | =20.3-r2-s1 | |
Junos OS Evolved | =20.3-r3 | |
Junos OS Evolved | =20.3-r3-s1 | |
Junos OS Evolved | =20.3-r3-s2 | |
Junos OS Evolved | =20.3-r3-s3 | |
Junos OS Evolved | =20.3-r3-s4 | |
Junos OS Evolved | =20.3-r3-s5 | |
Junos OS Evolved | =20.4 | |
Junos OS Evolved | =20.4-r1 | |
Junos OS Evolved | =20.4-r1-s1 | |
Junos OS Evolved | =20.4-r2 | |
Junos OS Evolved | =20.4-r2-s1 | |
Junos OS Evolved | =20.4-r2-s2 | |
Junos OS Evolved | =20.4-r3 | |
Junos OS Evolved | =20.4-r3-s1 | |
Junos OS Evolved | =20.4-r3-s2 | |
Junos OS Evolved | =20.4-r3-s3 | |
Junos OS Evolved | =20.4-r3-s4 | |
Junos OS Evolved | =21.1 | |
Junos OS Evolved | =21.1-r1 | |
Junos OS Evolved | =21.1-r1-s1 | |
Junos OS Evolved | =21.1-r2 | |
Junos OS Evolved | =21.1-r2-s1 | |
Junos OS Evolved | =21.1-r2-s2 | |
Junos OS Evolved | =21.1-r3 | |
Junos OS Evolved | =21.1-r3-s1 | |
Junos OS Evolved | =21.1-r3-s2 | |
Junos OS Evolved | =21.1-r3-s3 | |
Junos OS Evolved | =21.2 | |
Junos OS Evolved | =21.2-r1 | |
Junos OS Evolved | =21.2-r1-s1 | |
Junos OS Evolved | =21.2-r1-s2 | |
Junos OS Evolved | =21.2-r2 | |
Junos OS Evolved | =21.2-r2-s1 | |
Junos OS Evolved | =21.2-r2-s2 | |
Junos OS Evolved | =21.2-r3 | |
Junos OS Evolved | =21.2-r3-s1 | |
Junos OS Evolved | =21.2-r3-s2 | |
Junos OS Evolved | =21.3 | |
Junos OS Evolved | =21.3-r1 | |
Junos OS Evolved | =21.3-r1-s1 | |
Junos OS Evolved | =21.3-r1-s2 | |
Junos OS Evolved | =21.3-r2 | |
Junos OS Evolved | =21.3-r2-s1 | |
Junos OS Evolved | =21.3-r2-s2 | |
Junos OS Evolved | =21.3-r3 | |
Junos OS Evolved | =21.3-r3-s1 | |
Junos OS Evolved | =21.3-r3-s2 | |
Junos OS Evolved | =21.4 | |
Junos OS Evolved | =21.4-r1 | |
Junos OS Evolved | =21.4-r1-s1 | |
Junos OS Evolved | =21.4-r1-s2 | |
Junos OS Evolved | =21.4-r2 | |
Junos OS Evolved | =21.4-r2-s1 | |
Junos OS Evolved | =21.4-r2-s2 | |
Junos OS Evolved | =21.4-r3 | |
Junos OS Evolved | =22.1-r1 | |
Junos OS Evolved | =22.1-r1-s1 | |
Junos OS Evolved | =22.1-r1-s2 | |
Junos OS Evolved | =22.1-r2 | |
Junos OS Evolved | =22.1-r2-s1 | |
Junos OS Evolved | =22.2-r1 | |
Junos OS Evolved | =22.2-r1-s1 | |
Junos OS Evolved | =22.2-r1-s2 | |
Juniper MX10 | ||
Juniper MX10000 | ||
Juniper MX10003 | ||
Juniper MX10008 | ||
Juniper MX10016 | ||
Juniper MX104 | ||
Juniper MX150 | ||
Juniper MX2008 | ||
Juniper MX2010 | ||
Juniper MX2020 | ||
Juniper MX204 | ||
Juniper MX240 | ||
Juniper MX40 | ||
Juniper MX480 | ||
Juniper MX5 | ||
Juniper MX80 | ||
Juniper MX960 | ||
Juniper SRX100 | ||
Juniper SRX110 | ||
Juniper SRX1400 | ||
Juniper SRX1500 | ||
Juniper SRX210 | ||
Juniper SRX220 | ||
Juniper SRX240 | ||
Juniper SRX240H2 | ||
Juniper SRX240M | ||
Juniper SRX300 | ||
Juniper SRX320 | ||
Juniper SRX340 | ||
Juniper SRX3400 | ||
Juniper SRX345 | ||
Juniper SRX3600 | ||
Juniper SRX380 | ||
Juniper SRX4000 | ||
Juniper SRX4100 | ||
Juniper SRX4200 | ||
Juniper SRX4600 | ||
Junos OS SRX 5000 Series | ||
Juniper SRX5400 | ||
Juniper SRX550 | ||
Juniper SRX550 | ||
Juniper SRX550 | ||
Juniper SRX5600 | ||
Juniper SRX5800 | ||
Juniper SRX650 |
The following software releases have been updated to resolve this specific issue: 19.4R3-S10, 20.2R3-S6, 20.3R3-S6, 20.4R3-S5, 21.1R3-S4, 21.2R3-S3, 21.3R3-S3, 21.4R3-S1, 22.1R2-S2, 22.1R3, 22.2R2, 22.3R1, and all subsequent releases.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2023-22409 is classified as a low-severity vulnerability allowing Denial of Service (DoS) under specific conditions.
To mitigate CVE-2023-22409, ensure that the NAT configuration is consistent and do not use deterministic NAT with affected Junos OS versions.
CVE-2023-22409 affects Junos OS versions up to and including 19.4 and versions starting from 20.1 up to 22.1.
No, only authenticated users with low privileges can exploit CVE-2023-22409.
CVE-2023-22409 impacts devices running affected versions of Junos OS, including Juniper SRX and MX series.