CVE-2021-20123 Overview
A local file inclusion vulnerability exists in Draytek VigorConnect 1.6.0-B3 in the file download functionality of the DownloadFileServlet endpoint. An unauthenticated attacker could leverage this vulnerability to download arbitrary files from the underlying operating system with root privileges. This path traversal flaw allows malicious actors to access sensitive configuration files, credentials, and other critical system data without any authentication requirements.
Critical Impact
This vulnerability is listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, indicating active exploitation in the wild. Unauthenticated attackers can exfiltrate arbitrary files with root-level access, potentially exposing sensitive system configurations, credentials, and proprietary data.
Affected Products
- Draytek VigorConnect 1.6.0-B3 (Beta 3)
- Draytek VigorConnect versions prior to patched releases
- Systems running vulnerable DownloadFileServlet endpoint
Discovery Timeline
- 2021-10-13 - CVE-2021-20123 published to NVD
- 2025-11-03 - Last updated in NVD database
Technical Details for CVE-2021-20123
Vulnerability Analysis
This Local File Inclusion (LFI) vulnerability resides in the DownloadFileServlet endpoint of Draytek VigorConnect's web interface. The vulnerability stems from inadequate input validation in the file download functionality, allowing attackers to manipulate file path parameters to traverse directories and access files outside the intended web root.
The exploitation requires no authentication, making it particularly dangerous for internet-exposed VigorConnect installations. Successful exploitation grants attackers the ability to read arbitrary files with the same privileges as the web server process, which in this case runs with root-level access. This means attackers can potentially retrieve critical system files such as /etc/passwd, /etc/shadow, SSH keys, application configuration files containing credentials, and other sensitive data.
Root Cause
The root cause is improper input validation and insufficient sanitization of user-supplied file path parameters in the DownloadFileServlet endpoint. The application fails to properly validate and sanitize path traversal sequences (such as ../) in file path parameters, allowing attackers to escape the intended directory structure. This falls under CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, commonly known as Path Traversal).
Attack Vector
The attack vector is network-based, requiring no authentication or user interaction. An attacker can craft malicious HTTP requests to the DownloadFileServlet endpoint containing directory traversal sequences to navigate outside the web application's root directory. By manipulating the file path parameter with sequences like ../../../, attackers can traverse up the directory structure and access arbitrary files on the system.
The vulnerability is particularly severe because:
- No authentication is required to exploit it
- The web service runs with root privileges, granting access to all system files
- It can be exploited remotely over the network
- Successful exploitation reveals sensitive system information that can facilitate further attacks
For detailed technical analysis of this vulnerability, refer to the Tenable Research Report.
Detection Methods for CVE-2021-20123
Indicators of Compromise
- HTTP requests to /DownloadFileServlet containing path traversal sequences such as ../, ..%2f, or ..%5c
- Unusual file access patterns in web server logs targeting the DownloadFileServlet endpoint
- Access attempts to sensitive system files like /etc/passwd, /etc/shadow, or configuration files through the web interface
- Network traffic from external sources targeting the VigorConnect management interface on non-standard ports
Detection Strategies
- Implement web application firewall (WAF) rules to detect and block path traversal patterns in HTTP requests
- Monitor web server access logs for requests containing directory traversal sequences targeting DownloadFileServlet
- Deploy intrusion detection systems (IDS) with signatures for LFI exploitation attempts
- Utilize SIEM correlation rules to identify multiple file access attempts from single source IPs
Monitoring Recommendations
- Enable detailed logging for the VigorConnect web application and review logs for suspicious activity
- Set up alerts for any access to the DownloadFileServlet endpoint from external IP addresses
- Monitor for unauthorized file access events at the operating system level
- Implement network segmentation and monitor traffic to management interfaces
How to Mitigate CVE-2021-20123
Immediate Actions Required
- Restrict network access to the VigorConnect management interface to trusted IP addresses only
- Place VigorConnect behind a properly configured reverse proxy or web application firewall
- Apply vendor patches immediately once available from Draytek
- Audit systems for signs of prior exploitation by reviewing access logs for path traversal patterns
Patch Information
Organizations should consult Draytek's official security advisories and update to the latest version of VigorConnect that addresses this vulnerability. Given this vulnerability is listed in CISA's Known Exploited Vulnerabilities catalog, immediate patching is strongly recommended. Refer to the CISA KEV Catalog entry for remediation deadline guidance if applicable to your organization.
Workarounds
- Implement network-level access controls to restrict access to the VigorConnect management interface to authorized internal networks only
- Deploy a web application firewall (WAF) with rules to block path traversal attack patterns
- Disable or restrict access to the DownloadFileServlet endpoint if file download functionality is not required
- Monitor and alert on any exploitation attempts while awaiting patch deployment
# Example: Restrict access to VigorConnect management interface using iptables
# Only allow access from trusted management network (e.g., 192.168.1.0/24)
iptables -A INPUT -p tcp --dport 443 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP
# Example: Nginx reverse proxy configuration to block path traversal
# Add to location block for VigorConnect proxy
location / {
if ($request_uri ~* "\.\.") {
return 403;
}
proxy_pass http://vigorconnect_backend;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


