Evidence dossier
CVE-2024-12987
DrayTek Vigor2960/Vigor300B Web Management Interface apmcfgupload os command injection
Exploited in the wild (CISA KEV since May 15, 2025). VulDB reports CVSS 4.0 6.9. Severity assessments differ within at least one CVSS version. EPSS estimates 98.1% exploit likelihood as of Aug 18, 2026.
As of Aug 27, 2026
Normalized restatement
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 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.
- State
- PUBLISHED
- Published
- Dec 27, 2024
- Updated
- Oct 21, 2025
- Evidence coverage
- 80%
Evidence chronology
What was known when
- Source dateSource date omittedFirst observed by CASCACISA-ADPOriginal evidence ↗
Record text: CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
- Source dateSource date omittedFirst observed by CASCACVE ProgramOriginal evidence ↗
Record text: CVE Program Container
Inspect raw assertion
- Field
container- Value
- CVE Program Container
- Source dateSource date omittedFirst observed by CASCAVulDBOriginal evidence ↗
Record text: DrayTek Vigor2960/Vigor300B Web Management Interface apmcfgupload os command injection
Inspect raw assertion
- Field
container- Value
- DrayTek Vigor2960/Vigor300B Web Management Interface apmcfgupload os command injection
- Source dateFirst observed by CASCACISA KEVOriginal evidence ↗
Exploitation cataloged: DrayTek Vigor Routers OS Command Injection Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- DrayTek Vigor Routers OS Command Injection Vulnerability
- Source dateFirst observed by CASCAFIRST EPSSOriginal evidence ↗
EPSS score: 98.08% probability · 99.91th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.980840000000; percentile 0.999080000000
Assessments differ
Values are shown separately by source and CVSS version.
CISA KEV · catalog date May 15, 2025 · first observed Jul 19, 2026
FIRST EPSS · score date Aug 18, 2026 · 99.9th percentile · first observed Aug 18, 2026
VulDB · CVSS 4.0 · first observed Jul 19, 2026 · values shown separately below
Evidence detail
Source limits and decisions
Why each evidence state has this value
casca-unknown-reasons-v1Eligible evidence is present for this bounded claim.
- Revision
- evidence-policy-v1.1.0
- Cutoff
- Aug 27, 2026
- Resolution
- None
Eligible evidence is present for this bounded claim.
- Revision
- evidence-policy-v1.1.0
- Cutoff
- Aug 27, 2026
- Resolution
- None
Eligible assertions materially conflict and remain visible side by side.
- Revision
- casca-direct-cvss-eligibility-v1
- Cutoff
- Aug 27, 2026
- Resolution
- Resolve conflict
The cited source assertion is retained while canonical product linkage remains open.
- Revision
- casca-factor-d-obligations-v1
- Cutoff
- Aug 27, 2026
- Resolution
- Resolve identity
Source comparison
Who said what
CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
CVE Program Container
Inspect raw assertion
- Field
container- Value
- CVE Program Container
DrayTek Vigor2960/Vigor300B Web Management Interface apmcfgupload os command injection
Inspect raw assertion
- Field
container- Value
- DrayTek Vigor2960/Vigor300B Web Management Interface apmcfgupload os command injection
DrayTek Vigor Routers OS Command Injection Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- DrayTek Vigor Routers OS Command Injection Vulnerability
98.08% probability · 99.91th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.980840000000; percentile 0.999080000000
Applicability
Cited product scope
Grouped from 4 configuration nodes in this exact snapshot. Visual grouping is navigational; asset exposure and root cause require cited evidence.
Identity source boundaries
- Cpe dictionary1,775,266 records · observed through 2026-07-21T06:45:29.809Z
27d65b0f-b718-4b4f-bb79-c47c68d09dfa - Cpe match643,502 records · observed through 2026-07-21T08:13:17.697Z
955dae73-7302-438b-aee1-058d7cc5d48e
6 scope groups
Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "1.5.1.4"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "1.5.1.4"}]product-2b3f74f15f3fa5c878443a85c4125d958db8fc2ea545075c38f9a4a97d0bab2bLinked exactInspect raw assertion
cpe:2.3:h:draytek:vigor2960:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 1 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
8fda3905-67dd-4f31-afcf-014f1d7ccc1f
product-367d4a9bb8d3bb315845477d344315754d256d897976bd76ebba0cbb0dcbbe7fLinked exactInspect raw assertion
cpe:2.3:o:draytek:vigor2960_firmware:1.5.1.4:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 1 · node/0 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
564753ce-a701-4d76-94d8-c452af0c5e82
product-160e8fac3a3fd6f40b46d7fb5d98f4769f2b950d7aa017880ee5dcc11e40f82bLinked exactInspect raw assertion
cpe:2.3:h:draytek:vigor300b:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 0 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
da5b988d-ed1a-4cbf-8b34-c5b03a55ed52
product-d2978ffea6d708eae77e001de08ae6f5140a5c8d716026de8bf11be0e12d6acdLinked exactInspect raw assertion
cpe:2.3:o:draytek:vigor300b_firmware:1.5.1.4:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
d0357964-f484-4db3-bcad-1e02639357c4
Affected-product evidence
Accepted scope and product mapping
2 canonical links · 1 source-reported links
vendor-dbfbc71640fa78f1180e3ccb0617e87b2b2c10d4741c33e36622777a634c2adc · product-367d4a9bb8d3bb315845477d344315754d256d897976bd76ebba0cbb0dcbbe7f
- Source class
- Nvd cpe vulnerable target
- Assertions
- 1
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Aug 27, 2026
Retained assertion IDs
1bbe9d55-7e89-441e-a7dc-5172d1bdc1afvendor-dbfbc71640fa78f1180e3ccb0617e87b2b2c10d4741c33e36622777a634c2adc · product-d2978ffea6d708eae77e001de08ae6f5140a5c8d716026de8bf11be0e12d6acd
- Source class
- Nvd cpe vulnerable target
- Assertions
- 1
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Aug 27, 2026
Retained assertion IDs
00bee646-8d09-4e80-9f7b-527118638bcaCanonical linkage remains open; the cited source assertion is retained below.
Vendor specified only by source · Product specified only by source
- Source class
- Direct cve affected
- Assertions
- 2
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Aug 27, 2026
Retained assertion IDs
8936746d-6029-4e56-a2af-3922f9f2f9c5ee58652d-7712-430e-a887-8dd82ff4c511Assessments
CVSS by origin
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVSS: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:XCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:LAV:N/AC:L/Au:N/C:P/I:P/A:PCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:NCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:LCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:LAV:N/AC:L/Au:N/C:P/I:P/A:PDirect CVE/CNA normalized decisions
VulDB
CVSS 4.0 · Primary · Original assertion · rank 1
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- Validation
- Valid match
- Recomputed
- 6.9
- Decision reason
- Evidence supported
- Policy
- casca-direct-cvss-eligibility-v1
VulDB
CVSS 3.1 · Primary · Original assertion · rank 1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L- Validation
- Valid match
- Recomputed
- 7.3
- Decision reason
- Evidence supported
- Policy
- casca-direct-cvss-eligibility-v1
VulDB
CVSS 3.0 · Primary · Original assertion · rank 1
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L- Validation
- Valid match
- Recomputed
- 7.3
- Decision reason
- Evidence supported
- Policy
- casca-direct-cvss-eligibility-v1
VulDB
CVSS 2.0 · Primary · Original assertion · rank 1
AV:N/AC:L/Au:N/C:P/I:P/A:P- Validation
- Valid match
- Recomputed
- 7.5
- Decision reason
- Evidence supported
- Policy
- casca-direct-cvss-eligibility-v1
Assessments are retained side by side under closed precedence. Cascade never averages CVSS.
Evidence boundaries
- KEV membership is authoritative for the catalog, not proof of exposure in any environment.
- EPSS is a dated model probability and not an individual-environment prediction.
- Affected or fixed status applies only to the exact cited product and version scope; remaining scope stays source-scoped.
- NVD-carried upstream facts remain derivative; independent corroboration requires a separately authored source.
- Only NVD metrics validated under the generation-bound calculator are Public Priority eligible; direct CVE record metrics remain display-only.
- NVD CVSS source eligibility is closed: NVD-authored, exact record-source, or registered same-CVE container origin; unmapped sources remain display-only.
- Core replay supports the active and immediately prior generation; retrospective valid-at replay is deferred.
- OSV aggregation and OSV-converted NVD material are not independent corroboration.
- Red Hat facts are vendor assertions for the exact supplied products.
- Nonmembership and not-yet-observed states are not proof of safety.