CVE-2020-1631: Juniper Junos OS Path Traversal Vulnerability
A vulnerability in the HTTP/HTTPS service used by J-Web, Web Authentication, Dynamic-VPN (DVPN), Firewall Authentication Pass-Through with Web-Redirect, and Zero Touch Provisioning (ZTP) allows an unauthenticated attacker to perform local file inclusion (LFI) or path traversal. Using this vulnerability, an attacker may be able to inject commands into the httpd.log, read files with 'world' readable permission file or obtain J-Web session tokens. In the case of command injection, as the HTTP service runs as user 'nobody', the impact of this command injection is limited. (CVSS score 5.3, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) In the case of reading files with 'world' readable permission, in Junos OS 19.3R1 and above, the unauthenticated attacker would be able to read the configuration file. (CVSS score 5.9, vector CVSS:3.1/ AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N) If J-Web is enabled, the attacker could gain the same level of access of anyone actively logged into J-Web. If an administrator is logged in, the attacker could gain administrator access to J-Web. (CVSS score 8.8, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) This issue only affects Juniper Networks Junos OS devices with HTTP/HTTPS services enabled. Junos OS devices with HTTP/HTTPS services disabled are not affected. If HTTP/HTTPS services are enabled, the following command will show the httpd processes: user@device> show system processes | match http 5260 - S 0:00.13 /usr/sbin/httpd-gk -N 5797 - I 0:00.10 /usr/sbin/httpd --config /jail/var/etc/httpd.conf To summarize: If HTTP/HTTPS services are disabled, there is no impact from this vulnerability. If HTTP/HTTPS services are enabled and J-Web is not in use, this vulnerability has a CVSS score of 5.9 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N). If J-Web is enabled, this vulnerability has a CVSS score of 8.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). Juniper SIRT has received a single report of this vulnerability being exploited in the wild. Out of an abundance of caution, we are notifying customers so they can take appropriate actions. Indicators of Compromise: The /var/log/httpd.log may have indicators that commands have injected or files being accessed. The device administrator can look for these indicators by searching for the string patterns "=;&" or "%3b&" in /var/log/httpd.log, using the following command: user@device> show log httpd.log | match "=;&|=%3b&" If this command returns any output, it might be an indication of malicious attempts or simply scanning activities. Rotated logs should also be reviewed, using the following command: user@device> show log httpd.log.0.gz | match "=;&|=%3b&" user@device> show log httpd.log.1.gz | match "=;&|=%3b&" Note that a skilled attacker would likely remove these entries from the local log file, thus effectively eliminating any reliable signature that the device had been attacked. This issue affects Juniper Networks Junos OS 12.3 versions prior to 12.3R12-S16; 12.3X48 versions prior to 12.3X48-D101, 12.3X48-D105; 14.1X53 versions prior to 14.1X53-D54; 15.1 versions prior to 15.1R7-S7; 15.1X49 versions prior to 15.1X49-D211, 15.1X49-D220; 16.1 versions prior to 16.1R7-S8; 17.2 versions prior to 17.2R3-S4; 17.3 versions prior to 17.3R3-S8; 17.4 versions prior to 17.4R2-S11, 17.4R3-S2; 18.1 versions prior to 18.1R3-S10; 18.2 versions prior to 18.2R2-S7, 18.2R3-S4; 18.3 versions prior to 18.3R2-S4, 18.3R3-S2; 18.4 versions prior to 18.4R1-S7, 18.4R3-S2 ; 18.4 version 18.4R2 and later versions; 19.1 versions prior to 19.1R1-S5, 19.1R3-S1; 19.1 version 19.1R2 and later versions; 19.2 versions prior to 19.2R2; 19.3 versions prior to 19.3R2-S3, 19.3R3; 19.4 versions prior to 19.4R1-S2, 19.4R2; 20.1 versions prior to 20.1R1-S1, 20.1R2.
Other sources
A path traversal vulnerability in the HTTP/HTTPS service used by J-Web, Web Authentication, Dynamic-VPN (DVPN), Firewall Authentication Pass-Through with Web-Redirect, and Zero Touch Provisioning (ZTP) allows an unauthenticated attacker to perform remote code execution.
— CISA
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 12.3R12-S16 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 12.3X48-D101 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 12.3X48-D105 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 14.1X53-D54 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 15.1X49-D211 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 15.1X49-D220 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 15.1R7-S7 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 16.1R7-S8 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 17.2R3-S4 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 17.3R3-S8 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 17.4R2-S11 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 17.4R3-S2 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.1R3-S10 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.2R2-S7 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.2R3-S4 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.3R2-S4 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.3R3-S2 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.4R1-S7 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 18.4R3-S2 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.1R1-S5 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.1R3-S1 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.2R2 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.3R2-S3 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.3R3 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.4R1-S2 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 19.4R2 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 20.1R1-S1 - Upgrade
Upgrade
Juniper Junos OSto a version that resolves this vulnerability.Fixed in 20.1R2 - Upgrade
Upgrade
junos-srxsme-12.3X48-D101-domestic.tgzto a version that resolves this vulnerability.Fixed in 12.3X48-D101 - Upgrade
Upgrade
junos-srx1k3k-12.3X48-D101-domestic.tgzto a version that resolves this vulnerability.Fixed in 12.3X48-D101 - Upgrade
Upgrade
junos-srxentedge-15.1X49-D211-domestic.tgzto a version that resolves this vulnerability.Fixed in 15.1X49-D211 - Upgrade
Upgrade
junos-srxsme-15.1X49-D211-domestic.tgzto a version that resolves this vulnerability.Fixed in 15.1X49-D211 - Upgrade
Upgrade
junos-srxmr-15.1X49-D211-domestic.tgzto a version that resolves this vulnerability.Fixed in 15.1X49-D211 - Upgrade
Upgrade
junos-srx5000-15.1X49-D211-domestic.tgzto a version that resolves this vulnerability.Fixed in 15.1X49-D211 - Upgrade
Upgrade
junos-srx5000-12.3X48-D101-domestic.tgzto a version that resolves this vulnerability.Fixed in 12.3X48-D101 - Upgrade
Upgrade
junos-vsrx-15.1X49-D211-domestic.tgzto a version that resolves this vulnerability.Fixed in 15.1X49-D211 - Configuration
Disable HTTP and HTTPS services on the device; the advisory states that devices with HTTP/HTTPS services disabled are not affected.
Junos OS HTTP/HTTPS service HTTP/HTTPS services = disabled - Configuration
Disable J-Web if it is not required; the advisory states J-Web-enabled devices face higher impact.
J-Web J-Web service = disabled - Operational
Check for running HTTP/HTTPS processes to determine exposure: run 'show system processes | match http' on the device (example shown in advisory: 'user@device> show system processes | match http').
- Operational
Search httpd logs for indicators and potential command injections or file access. Run the exact commands from the advisory: 'show log httpd.log | match "=*;*&|=*%3b*&"' and check rotated logs with 'show log httpd.log.0.gz | match "=*;*&|=*%3b*&"' and 'show log httpd.log.1.gz | match "=*;*&|=*%3b*&"'.
- Operational
Compare suspicious files or downloaded artifacts against the provided hashes in the advisory. Known hashes listed in the advisory include MD5: 348f2fcd96b31d51b9d71147d09fabd8, 55b4c96b05b5fd9595a8ee071dbbf438, 7dc73801b7680fda42d453d6d3d6f10c, b822376f7a385e74499b186cf28c122b, b918fa5a341815ccdb230560539e8725, b93229ea43f66b539f22ecc5a9be0f07, dfd3428c7f83eb11142bbe32bac2a151; SHA-1: 05f1eda5ec112c7e2afeebea4d47c007e0a8bd60, 2c625e9bc155b9fcb4c9a1a371bba473363ee6f0, 38e912a55f1407e18e1bb8305f854fcd97c1adcb, a22f0ead795c8afb0a4d59d1b9b785c83801cd65, ae6d7978964c3be6b632033b3616208e47653617, cf8ee775ca1ca12706975fdd0748c1967732c2fe, e6138e45bf9d29e962468e6e114e537142d4cc0d; SHA-256: 20274c3b66d4b54471684a5f534abe0ba1d8bebabbb6f78f0028fcc275076df1, 62d460ea531161936f0ac75fa4501bc6cadb700388bdb93b7e706a09e985eff5, 88d40e4b6b9492a5c656c2b5fffa3adb41fe4943fb3e5d9cfaa439e603889e839, 982434f9cde9492e1d80d14c43a7cdcc5261db15a11f65fa7c9881a0fc0cd3db, b21a9ae9f5d0b0ec25180682193faba7bf54e836fda0eb78babd3df843f90e6a, c1aaafdd9b23a525236c414e4cf213542246326317070b5e98ac5cccc5fa1e72, dc42e24db0e2af7b2e6aaafdaa61f8e658fabc91c8a888efad586a5fbd2fa29a.
Event History
Frequently Asked Questions
What is the severity of CVE-2020-1631?
CVE-2020-1631 has been rated as high severity, allowing unauthorized attackers to exploit the vulnerability.
How do I fix CVE-2020-1631?
To fix CVE-2020-1631, upgrade to a patched version of Junos OS as specified in the vendor's advisory.
What systems are affected by CVE-2020-1631?
CVE-2020-1631 affects multiple versions of Juniper's Junos OS including 12.3, 14.1, and 15.1 among others.
What type of attack can exploit CVE-2020-1631?
CVE-2020-1631 can be exploited through local file inclusion (LFI) or path traversal attacks.
Are there any mitigations available for CVE-2020-1631?
While upgrading is the recommended fix for CVE-2020-1631, temporarily restricting access to vulnerable services may serve as a mitigation.