Cyber Resilience

CVE-2020-15415

RCE in Draytek Vigor3900 Firmware ≤ 1.5.1

CISA KEVActive ExploitationEUVD ExploitedPublic PoCRCECommand Injection
Published
30 June 2020
Modified
07 November 2025
KEV Added
30 September 2024
Patch / advisory
CVSS Score v3.1 9.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.85 99.7th percentile
Risk Priority 97 floored blend · peak EPSS

Summary

CVE-2020-15415 is a critical-severity OS Command Injection (CWE-78) vulnerability in Draytek Vigor3900 Firmware. Its CVSS base score is 9.8 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked in the top 0.3% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2020-15415 is an OS command injection vulnerability (CWE-78) affecting DrayTek Vigor3900, Vigor2960, and Vigor300B devices running firmware prior to 1.5.1. The flaw resides in the cgi-bin/mainfunction.cgi/cvmcfgupload endpoint, which fails to sanitize filenames containing shell metacharacters when the Content-Type header is set to text/x-python-script. This issue is distinct from the related CVE-2020-14472.

Unauthenticated attackers with network access can exploit the vulnerability by sending a crafted HTTP request that triggers arbitrary command execution on the device. Successful exploitation grants full control over the affected appliance, allowing attackers to read or modify data, alter device configuration, or disrupt availability, consistent with the CVSS 9.8 rating reflecting no required privileges or user interaction.

DrayTek's security advisory recommends upgrading to firmware version 1.5.1 or later to remediate the flaw. The vulnerability is also tracked in CISA's Known Exploited Vulnerabilities catalog, and public proof-of-concept material is available from the CLP-team repository documenting the command-injection technique.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

On DrayTek Vigor3900, Vigor2960, and Vigor300B devices before 1.5.1, cgi-bin/mainfunction.cgi/cvmcfgupload allows remote command execution via shell metacharacters in a filename when the text/x-python-script content type is used, a different issue than CVE-2020-14472.

CWE(s)
KEV Date Added
30 September 2024

Related Threats

MITRE ATT&CK Enterprise Techniques

T1059 Command and Scripting Interpreter Execution
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
T1059.003 Windows Command Shell Execution
Adversaries may abuse the Windows command shell for execution.
T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
T1059.001 PowerShell Execution
Adversaries may abuse PowerShell commands and scripts for execution.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2020-8515Same product: Draytek Vigor2960both on KEV
CVE-2024-12987Same product: Draytek Vigor2960both on KEV
CVE-2024-51244Same product: Draytek Vigor3900
CVE-2024-51245Same product: Draytek Vigor3900
CVE-2024-45885Same product: Draytek Vigor3900
CVE-2024-46316Same product: Draytek Vigor3900
CVE-2024-48074Same product: Draytek Vigor2960
CVE-2024-51251Same product: Draytek Vigor3900
CVE-2024-51252Same product: Draytek Vigor3900
CVE-2024-45893Same product: Draytek Vigor3900

Affected Assets

draytek
vigor3900 firmware
≤ 1.5.1
draytek
vigor2960 firmware
≤ 1.5.1
draytek
vigor300b firmware
≤ 1.5.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.2.5
  • V1.2.8
  • V15.2.5

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-78

Platform-independent apps typically execute inside a managed runtime or sandbox that restricts direct OS command execution, reducing the ability to exploit OS command injection.

addresses: CWE-78

Validates inputs to block special elements that would alter OS command execution.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

PR.PS-06's SDLC practices directly require secure coding and input handling that blocks command-injection defects, yet the single broad outcome leaves many specific neutralization vectors and verification gaps unaddressed.

PR.PS-02 partial match
prevents

Routine patching/maintenance can remediate known command-injection CVEs in dependencies (partial forward) but does nothing to stop developers from introducing improper neutralization in custom code (none reverse).

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing and code review target insecure use of operating-system command interfaces, catching command-injection flaws introduced during development.

References