Security Resilience

CVE-2024-12987

Command Injection in Draytek Vigor300B Firmware 1.5.1.4

CISA KEVActive ExploitationEUVD ExploitedPublic PoCCommand Injection
Published
27 December 2024
Modified
30 October 2025
KEV Added
15 May 2025
CVSS Score v4 6.9
Click a component to see what it means
Raw vectorCVSS: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:X
EPSS Score 0.98 99.9th percentile
Risk Priority 75 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

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 NTDS (T1003.003); 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

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

T1003.003 NTDS Credential Access
Adversaries may attempt to access or create a copy of the Active Directory domain database in order to steal credential information, as well as obtain other information about domain members such as devices, users, and access rights.
T1007 System Service Discovery Discovery
Adversaries may try to gather information about registered local system services.
T1010 Application Window Discovery Discovery
Adversaries may attempt to get a listing of open application windows.
T1021.004 SSH Lateral Movement
Adversaries may use [Valid Accounts](https://attack.
T1021.008 Direct Cloud VM Connections Lateral Movement
Adversaries may leverage [Valid Accounts](https://attack.
T1027.001 Binary Padding Stealth
Adversaries may use binary padding to add junk data and change the on-disk representation of malware.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-12986Same product: Draytek Vigor2960
CVE-2020-15415Same product: Draytek Vigor2960both on KEV
CVE-2020-8515Same product: Draytek Vigor2960both on KEV
CVE-2026-3040Same product: Draytek Vigor300B
CVE-2023-24229Same product: Draytek Vigor2960
CVE-2024-48074Same product: Draytek Vigor2960
CVE-2024-44844Same vendor: Draytek
CVE-2024-44845Same vendor: Draytek
CVE-2024-51247Same vendor: Draytek
CVE-2023-47254Same vendor: Draytek

Affected Assets

draytek
vigor300b firmware
1.5.1.4
draytek
vigor2960 firmware
1.5.1.4

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

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.

PR.PS-06 mostly match
blocks

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
blocks

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.

removes
removes
removes
removes
removes

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-77, a class-level weakness, and none of its children carries one either.

References