CVE-2024-12987
Command Injection in Draytek Vigor300B Firmware 1.5.1.4
Raw vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XSummary
CVE-2024-12987 is a medium-severity Command Injection (CWE-77) vulnerability in Draytek Vigor300B Firmware. Its CVSS base score is 6.9 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked in the top 0.1% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
A critical OS command injection vulnerability affects the web management interface of DrayTek Vigor2960 and Vigor300B devices running firmware 1.5.1.4. The flaw resides in the /cgi-bin/mainfunction.cgi/apmcfgupload endpoint, where unsanitized input to the session argument allows arbitrary command execution. Both CWE-77 and CWE-78 are referenced, and the issue can be triggered remotely without authentication.
An unauthenticated attacker can send a crafted HTTP request to the affected endpoint and obtain command execution on the device. Publicly disclosed exploit code demonstrates remote code execution, enabling an adversary to run operating-system commands with the privileges of the web server process.
Vendor firmware version 1.5.1.5 resolves the issue. DrayTek’s release notes and the associated advisory recommend immediate upgrade of the affected Vigor2960 and Vigor300B units.
The EPSS score has reached a peak of 0.8286 with a current value of 0.7899, indicating substantial exploitation interest following disclosure.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2024-51246
Vulnerability Data
A vulnerability, which was classified as critical, was found in DrayTek Vigor2960 and Vigor300B 1.5.1.4. Affected is an unknown function of the file /cgi-bin/mainfunction.cgi/apmcfgupload of the component Web Management Interface. The manipulation of the argument session leads to os command…
more
injection. It is possible to launch the attack remotely. The exploit has been disclosed to the public and may be used. Upgrading to version 1.5.1.5 is able to address this issue. It is recommended to upgrade the affected component.
- CWE(s)
- KEV Date Added
- 15 May 2025
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
—
V1.2.3V1.2.5V1.2.8V1.2.9
Mitigating Controls (NIST 800-53 r5) AI
Developer testing and evaluation can discover command-construction flaws before deployment.
Input validation directly stops construction of commands from untrusted data containing special elements.
Least privilege reduces the permissions available to any process that could be subverted by injected commands.
Least functionality restricts available OS commands and interpreters, limiting the blast radius of injection.
Secure engineering principles include proper neutralization and safe command construction practices.
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.
Secure SDLC practices directly require input validation and neutralization that prevent command injection.
Runtime monitoring of software and data can detect anomalous command execution resulting from injection.
Identifying recorded vulnerabilities enables remediation of command-injection flaws before exploitation.
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.
Secure coding standards require proper escaping and parameterization of commands, directly eliminating CWE-77.
Security testing in development catches command-injection vulnerabilities before release.
Secure development life cycle mandates input validation and command construction practices that directly prevent command injection.
Application security requirements explicitly call for controls against injection flaws including command injection.
Secure architecture principles reduce the attack surface but do not prescribe the specific neutralization techniques needed.
Environment separation limits the blast radius of an exploited command injection but does not prevent the flaw itself.