CVE DatabaseCVE-2020-1631
한국어 권고문 →
CVE-2020-16319.8/CRITICALCISA KEVCWE-22CWE-73CWE-22

Juniper Networks Junos OS J-Web Local File Inclusion (LFI) and Remote Code Execution Vulnerability (CVE-2020-1631) Analysis and Mitigation Guide

⚡ Jump to Patch
Affected Vendors
juniper
Affected Components
junos_os
Published Date
2020-05-04
CVSS v3.1
9.8
CRITICAL
EPSS (30d)
4.9%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Juniper Networks Junos OS devices with HTTP/HTTPS services (J-Web, Web Authentication, Dynamic-VPN, etc.) enabled

Impact

Unauthenticated attackers can read arbitrary system files, hijack active administrator session tokens, or inject commands into web logs to execute limited commands

Mitigation

Upgrade Junos OS to the recommended patched release, or disable HTTP/HTTPS and J-Web services if they are not business-critical

Affected Products & Version Scope

Affected Juniper Networks Junos OS versions include 12.3, 12.3X48, 14.1X53, 15.1, 15.1X49, 16.1, 17.2, 17.3, 17.4, 18.1, 18.2, 18.3, 18.4, 19.1, 19.2, 19.3, 19.4, and 20.1 prior to their respective patched releases. Only devices with HTTP/HTTPS services enabled are vulnerable.

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

To permanently resolve the vulnerability, upgrade Junos OS to a patched release as advised by the vendor. Verify your current version and running processes, then apply the update.

bash
# Check current Junos OS version and running HTTP processes
show version
show system processes | match http

# Install the secure Junos OS software package (example)
request system software add reboot /var/tmp/junos-install-package.tgz

2. Temporary Workaround & Hardening Configuration

If patching cannot be performed immediately, disable the HTTP/HTTPS and J-Web services to eliminate the attack vector. If the services must remain active, restrict access using firewall filters (ACLs) to trusted management subnets only.

bash
# 1. Disable HTTP/HTTPS and J-Web services
configure
delete system services web-management
commit and-quit

# 2. Restrict J-Web access to a trusted management subnet (e.g., 192.168.10.0/24)
set firewall filter LIMIT-web-access term ALLOW-ADMIN from source-address 192.168.10.0/24
set firewall filter LIMIT-web-access term ALLOW-ADMIN from protocol tcp
set firewall filter LIMIT-web-access term ALLOW-ADMIN from destination-port
set firewall filter LIMIT-web-access term ALLOW-ADMIN then accept
set firewall filter LIMIT-web-access term DENY-OTHERS then reject
set interfaces lo0 unit 0 family inet filter input LIMIT-web-access
commit and-quit

3. Log Audit & IoC Verification Commands

Inspect the HTTP log files for potential exploitation attempts, such as command injection patterns or directory traversal signatures.

bash
# Search active and rotated logs for known attack signatures
show log httpd.log | match '=*;*&|=*%3b*&'
show log httpd.log.0.gz | match '=*;*&|=*%3b*&'
show log httpd.log.1.gz | match '=*;*&|=*%3b*&'
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
NordLayer / Zero-Trust Network Access
Due to active in-the-wild exploitation, immediately disable J-Web or restrict its access to trusted IPs, and upgrade to a patched Junos OS version.

Stop Exposing VPN Ports to the Internet — Switch to Zero-Trust Access

Eliminate public-facing VPN concentrators and firewall management ports with identity-first Zero-Trust Network Access.

90% Attack Surface Reduction · Hardware-Free

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability (CVE-2020-1631) is a Local File Inclusion (LFI) and Path Traversal flaw within the HTTP/HTTPS web service engine of Juniper Networks Junos OS. It occurs due to insufficient input validation when processing web requests for J-Web, Web Authentication, Dynamic-VPN (DVPN), and Zero Touch Provisioning (ZTP). An unauthenticated remote attacker can exploit this by sending crafted HTTP requests to traverse directories and access restricted system files.

2. Exploitation Mechanics & Attack Scenario

An attacker can leverage directory traversal sequences (e.g., '../') to read any 'world-readable' files on the system. In Junos OS 19.3R1 and above, this allows unauthenticated attackers to read the device's configuration files directly. Additionally, attackers can inject malicious payloads into 'httpd.log' (Log Poisoning) and attempt to execute them via LFI. While the HTTP service runs under the low-privileged 'nobody' user, limiting direct command execution impact, a critical risk arises if J-Web is enabled. If an administrator is actively logged in, the attacker can steal session tokens to hijack the session and gain full administrative control over the device (CVSS 8.8).

3. Infrastructure & Business Impact

This vulnerability is listed in the CISA KEV (Known Exploited Vulnerabilities) catalog, with active in-the-wild exploitation reported by Juniper SIRT. Successful exploitation of this vulnerability on core networking and firewall infrastructure can lead to complete compromise of the network perimeter. Consequences include exposure of internal network topologies via configuration disclosure, session hijacking, and unauthorized administrative access, posing severe risks to business continuity and data confidentiality.

Official Vendor Advisories & References

NVD Original English Description

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.

Frequently Asked SecOps Questions (CVE-2020-1631)

FAQ

Q1. How critical is CVE-2020-1631 and is it actively exploited in the wild?

CVE-2020-1631 is rated CVSS 9.8 (CRITICAL) with a 30-day EPSS exploitation probability of 4.9%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2020-1631?

Primary impacted vendors include juniper across junos_os. Scope summary: Affected Juniper Networks Junos OS versions include 12.3, 12.3X48, 14.1X53, 15.1, 15.1X49, 16.1, 17.2, 17.3, 17.4, 18.1, 18.2, 18.3, 18.4, 19.1, 19.2, 19.3, 19.4, and 20.1 prior to their respective patched releases. Only devices with HTTP/HTTPS services enabled are vulnerable.

Q3. What temporary mitigations or workarounds exist for CVE-2020-1631 before patching?

[Mitigation] Upgrade Junos OS to the recommended patched release, or disable HTTP/HTTPS and J-Web services if they are not business-critical Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2020-1631

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (juniper)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2020-1631 Juniper Networks Junos OS J-Web Local File Inclusion (LFI) and Remote Code Execution Vulnerability (CVE-2020-1631) Analysis and Mitigation Guide (CVSS 9.8) - Patch & Workaround | CVE Pulse