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.
CVE-2020-1631 is a path traversal vulnerability in the HTTP/HTTPS service on Juniper Junos OS. It affects interfaces including J-Web, Web Authentication, Dynamic-VPN (DVPN), Firewall Authentication Pass-Through with Web-Redirect, and Zero Touch Provisioning (ZTP). An unauthenticated attacker can abuse it to achieve remote code execution, which makes prompt attention important for any network that exposes these services.
Public detail is limited to the vendor and CISA descriptions; confirm exact impact, fixed releases, and configuration notes against the Juniper advisory before acting.
How it works
The weakness is classified as CWE-22 (path traversal) and CWE-73 (external control of file name or path). In products that accept HTTP/HTTPS requests and map parts of those requests onto the local filesystem, insufficient validation of path elements can let an attacker supply sequences that escape the intended directory.
When the affected Junos OS HTTP/HTTPS service processes such a request, the attacker may reach files or execution paths outside the normal web root. Because the service is reachable without authentication on the listed features, successful abuse can lead directly to remote code execution on the device. Exact request format and payload mechanics are not provided in the public summary; treat any exploitation claims as unconfirmed until verified against the vendor advisory and your own testing in a lab.
Am I affected? How to find it in your systems
Junos OS commonly runs on Juniper routers, switches, and security gateways. The vulnerable HTTP/HTTPS service is used by J-Web management, web-based authentication, Dynamic-VPN, firewall authentication pass-through with web-redirect, and Zero Touch Provisioning. Any device that has these features enabled and reachable—especially from untrusted networks—should be treated as in scope until proven otherwise.
- Inventory all Juniper devices and record the exact Junos OS version and which of the listed services are enabled.
- Check management and authentication interfaces for HTTP/HTTPS listeners; note whether they are bound to internal-only addresses or exposed more broadly.
- Review configuration for J-Web, Web Authentication, DVPN, web-redirect pass-through, and ZTP; disable any that are not required.
- Confirm affected and fixed versions solely against the Juniper security advisory for CVE-2020-1631; do not rely on third-party version lists.
- In logs and telemetry, look for unusual HTTP requests containing path-traversal patterns (for example, repeated “../” sequences) directed at the management or authentication web services, unexpected process spawns, or configuration changes that coincide with such traffic. Absence of these signs does not prove the device is clean.
How to remediate
Patch first. Apply the Junos OS updates specified by Juniper for CVE-2020-1631, following the vendor’s installation and reboot guidance. CISA’s required action is to apply updates per vendor instructions; schedule the work according to your change process and verify the new version after installation.
- After patching, re-check that the previously exposed services still behave as expected and that no unintended features were re-enabled.
- Harden the remaining attack surface: restrict management and authentication HTTP/HTTPS access to dedicated management networks or jump hosts, enforce strong authentication where the feature allows it, and disable unused web services (J-Web, ZTP web components, etc.).
- Ensure configuration backups and change-control records are current so you can detect unauthorized modifications.
If you can't patch immediately
Until the vendor update can be applied, reduce exposure with compensating controls.
- Segment the devices so that the HTTP/HTTPS listeners used by J-Web, Web Authentication, DVPN, web-redirect, and ZTP are unreachable from untrusted or general user networks; prefer management VRFs or out-of-band access.
- If a web application firewall or reverse proxy sits in front of these interfaces, consider virtual-patching rules that block path-traversal patterns, understanding that such rules are imperfect and must be tuned to avoid breaking legitimate traffic.
- Disable any of the affected features that are not operationally required; turning off the service removes the vulnerable code path.
- Increase monitoring: alert on anomalous requests to the web management ports, new administrative sessions, unexpected file-system or process activity, and any configuration commits outside change windows.
- Document the temporary risk acceptance and the date by which patching will occur.
If your data may have been exposed
Actively exploited remote-code-execution vulnerabilities on network devices can lead to full compromise, credential theft, traffic interception, or lateral movement. Known ransomware use of this CVE is not documented, but that does not rule out other malicious activity. If you have reason to believe a device was exploited, follow your incident-response plan: isolate the device, preserve logs and memory if feasible, rotate credentials and keys that may have been present, and examine downstream systems for follow-on access. As a simple additional check, you can run a free exposure scan of your email addresses against known breach data sets to see whether related accounts have appeared in prior incidents.
AICompiled with AI assistance from public sources and published under our editorial standards.
Details
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H