CVE-2024-41339
Executive Summary
CVE-2024-41339 is an arbitrary code execution vulnerability in the configuration-upload CGI endpoint of a broad range of Draytek Vigor routers and VPN/firewall appliances. An attacker can upload a crafted kernel module through this endpoint, leading to kernel-level code execution on the device. Affected models span SOHO routers (Vigor 165/166, 2133, 2135, 2762, 2765, 2766, 2832) and business VPN gateways (Vigor 2620, 2860/2862/2865/2866, 2925/2926/2927, 2962, 3910/3912, LTE200), with model-specific vulnerable firmware branches. No CVSS score, CWE assignment, or CISA KEV listing is published for this CVE; exploit status is unknown, but the affected devices are frequently internet-exposed, making this a high-risk candidate for remote exploitation.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The NVD description is sparse and attributes the flaw to "an issue in the CGI endpoint used to upload configurations" in Draytek Vigor devices. The vulnerability class is an unrestricted/unvalidated file upload leading to code execution: the affected CGI handler accepts uploaded content and fails to sufficiently validate the file type or contents of the submitted payload. Because the attack payload is a crafted kernel module, successful exploitation implies the uploaded binary is subsequently loaded into the device's kernel — an operation that by definition requires elevated (typically root) privileges on the target OS. The practical impact is therefore arbitrary code execution with the highest privilege level on the device, not merely application-level command injection.
Important caveats derived from the available data:
- The exact name, path, and parameter structure of the CGI endpoint are not disclosed in the description. The term "CGI endpoint used to upload configurations" is all that is known; security teams should treat the device's configuration backup/restore and firmware/configuration upload functions as candidate attack surfaces.
- The description does not state whether the endpoint requires prior authentication. If the upload CGI is reachable pre-authentication, the flaw is an unauthenticated remote code execution. If authentication is required, exploitation would be limited to the LAN side or to attackers who have already obtained valid administrator credentials (e.g., via credential stuffing or other exposure).
- No CWE is assigned in the source data; based on the flaw class (upload of a dangerous file type resulting in code execution), the most appropriate classification is CWE-434 (Unrestricted Upload of File with Dangerous Type), with secondary alignment to CWE-94 (Improper Control of Generation of Code).
Affected product family (per NVD description, with model-specific vulnerable firmware branches):
| Model(s) | Vulnerable firmware |
|---|---|
| Vigor 165 / 166 | prior to v4.2.6 |
| Vigor 2620 / LTE200 | prior to v3.9.8.8 |
| Vigor 2860 / 2925 | prior to v3.9.7 |
| Vigor 2862 / 2926 | prior to v3.9.9.4 |
| Vigor 2133 / 2762 / 2832 | prior to v3.9.8 |
| Vigor 2135 / 2765 / 2766 | prior to v4.4.5.1 |
| Vigor 2865 / 2866 / 2927 | prior to v4.4.5.3 |
| Vigor 2962 / 3910 | prior to v4.3.2.7 |
| Vigor 3912 | prior to v4.3.5.2 |
| Vigor 2925 | up to v3.9.6 (duplicate/overlapping mention in source data) |
Attack surface: Draytek Vigor devices expose an administrative web interface (typically TCP 80/443, often also accessible from the WAN side if remote management is enabled). The configuration upload CGI is reachable through this management interface. Internet-wide scanning (Shodan) frequently identifies Draytek Vigor devices with exposed management panels, making the "attack surface on the internet" component substantial. Kernel module loading on embedded Linux devices is normally performed by the firmware update or system utility functions; an upload path that reaches module loading indicates weak separation between the configuration function and the OS-level module loader.
EPSS for this CVE is 0.00635 (47.5th percentile of all scored CVEs), indicating that exploitation in the wild is currently considered unlikely but not impossible. There is no CISA KEV entry, no known Nuclei template, and no confirmed public exploit code as of the data snapshot.
Exploitation Scenarios
No public PoC or exploit code was confirmed for CVE-2024-41339 at the time of writing. The attack chain below is therefore inferred strictly from the vulnerability class described in the NVD entry (crafted kernel module upload to a configuration CGI endpoint) and should be treated as an analytical reconstruction, not a verified exploit walkthrough.
Reconnaissance / target identification: An attacker identifies internet-facing Draytek Vigor devices using device fingerprinting — HTTP banners, default login page titles containing "Draytek" or "Vigor", and other protocol-level fingerprints. Shodan/Censys queries such as
title:"Draytek"orhttp.title:"Vigor"are typical first steps. The attacker then determines the firmware version from the management interface (version strings are usually displayed on the login or status page) and matches it against the affected version list.Triggering the flaw: The attacker sends an HTTP POST request to the vulnerable configuration-upload CGI endpoint, impersonating a legitimate configuration or firmware feed. The request body is a MIME/multipart payload or raw binary body containing a malicious ELF kernel module (a
.kofile). Because the endpoint does not adequately validate uploaded content types, the malicious module is accepted as a valid upload. Whether this step requires prior authentication is unknown from the published description; if the CGI is exposed pre-auth, the trigger is a direct remote request to the device's management port.Payload / execution method: The submitted kernel module is installed and loaded into the device kernel. The module is compiled for the target device's architecture and kernel version (common embedded MIPS/ARM Linux kernels in Draytek hardware). On load, the module executes attacker-controlled code in kernel context — for example, to disable security checks, install persistence hooks, or grant a root shell to the attacker. Because the payload is a kernel module rather than a userland script, it survives as a first-stage implant and is less likely to be flagged by basic integrity checks that only scan userland files.
Post-exploitation impact: With kernel-level code execution, the attacker achieves complete control of the device. On Draytek Vigor devices this enables: interception/redirection of LAN traffic; capture of VPN credentials and session material for IPSec/SSL-VPN tunnels; modification of firewall/NAT rules; use of the device as a pivot host into the internal corporate network; and complete persistence via re-flashing firmware or auto-loading the malicious module on every boot. Compromised devices are also commonly absorbed into botnets (e.g., Mirai-style IoT botnets) for DDoS or as proxy nodes.
Impact Assessment
Business impact: This is a remote arbitrary code execution vulnerability affecting a wide installed base of Draytek routing and VPN appliances, including models commonly deployed at branch offices and SMB sites as the primary network edge gateway. A successful compromise of the edge device neutralizes the network's perimeter security posture — the attacker inherits all trust the organization placed in the gateway.
Affected systems: All Vigor models and firmware versions listed in the NVD description are in scope. Because firmware branches vary widely across the product line (from v3.9.6 to v4.4.5.3), virtually every currently deployed Vigor device is likely running a vulnerable build unless explicitly patched; the data snapshot shows patch confidence of 0/4, meaning no tracked source confirms an available patch.
Blast radius: Full device compromise (kernel-level RCE). Consequences include VPN session hijacking and credential theft for teleworker connections, internal network pivoting, TLS/HTTP traffic interception on the LAN side, and persistent firmware-level backdooring that survives reboots. For regulatory-compliance-minded organizations, compromised network infrastructure also raises data breach notification concerns because the device is the chokepoint for corporate traffic inspection.
CVSS: No official CVSS score or vector has been published (CVSS: N/A, Vector: N/A); the data source does not provide subscores. Risk assessors should conservatively estimate this as a high/critical severity finding for WAN-exposed devices. EPSS probability is low (0.00635) and the CVE is not on the CISA KEV list, which reduces — but does not eliminate — the likelihood of immediate mass exploitation.
Detection Guidance
The following detection content targets the vulnerability class: anomalous HTTP configuration/firmware uploads carrying binary kernel-module payloads (ELF binaries, .ko filenames) to Draytek Vigor management interfaces. Because the exact CGI endpoint name is not publicly disclosed, the rules key on payload characteristics and upload behavior rather than a specific URI. Adjust asset-scoping to your Draytek management networks to reduce false positives.
Sigma Rule
title: Draytek Vigor Configuration CGI Upload with Kernel Module Payload
id: 0f73f5c1-9a42-4d1f-8e7b-2c9d4a7e3b61
status: experimental
description: >
Detects HTTP POST requests to Draytek Vigor device management interfaces that
contain kernel module artifacts (ELF binary magic, .ko filename), indicating a
likely attempt to exploit CVE-2024-41339 (crafted kernel module upload via the
configuration upload CGI endpoint).
references:
- https://nvd.nist.gov/vuln/detail/CVE-2024-41339
author: Valters IT
date: 2024/06/01
logsource:
category: webserver
product: generic
detection:
selection_method:
http.method: POST
selection_upload:
http.url|contains:
- 'upload'
- 'restore'
- 'cfg'
selection_binary:
http.body|contains|all:
- '\x7fELF'
selection_module:
http.body|contains:
- '.ko'
condition: selection_method and selection_upload and (selection_binary or selection_module)
falsepositives:
- Legitimate firmware update procedures that transmit vendor-signed kernel modules
- Authorized configuration restore operations performed by administrators
level: high
YARA Rule
rule CVE_2024_41339_Draytek_Vigor_KernelModule_Upload
{
meta:
author = "Valters IT"
description = "Detects ELF kernel modules crafted for upload to Draytek Vigor configuration CGI endpoints (CVE-2024-41339)"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-41339"
date = "2024-06-01"
cve = "CVE-2024-41339"
strings:
$elf_magic = { 7F 45 4C 46 } // ELF magic
$ko_ext = ".ko" ascii wide nocase
$draytek = "Draytek" ascii wide nocase
$vigor = "Vigor" ascii wide nocase
$module_str = "kernel module" ascii wide nocase
condition:
$elf_magic at 0 and filesize < 10MB and
(2 of ($ko_ext, $draytek, $vigor, $module_str))
}
Suricata IDS Rule
alert http $EXTERNAL_NET any -> $HOME_NET any ( \
msg:"ET EXPLOIT Draytek Vigor Configuration Upload Kernel Module RCE Attempt (CVE-2024-41339)"; \
flow:established,to_server; \
http.method; content:"POST"; \
http.content_type; content:"multipart/form-data"; \
http.uri; content:"upload"; \
http.client_body; content:".ko"; \
http.client_body; content:"|7F 45 4C 46|"; \
classtype:attempted-admin; \
sid:20241339; rev:1; \
reference:cve,2024-41339; \
reference:url,https://nvd.nist.gov/vuln/detail/CVE-2024-41339;)
Elastic Detection
// EQL for Elastic SIEM — detects HTTP POST to Draytek management ports with
// binary upload characteristics. Exact CGI URI is undisclosed, so the rule is
// URI-agnostic and keys on upload behavior to common management ports.
network where network.protocol == "http"
and http.request.method == "POST"
and destination.port in (80, 443, 8080)
and http.request.content_type == "multipart/form-data"
and http.request.bytes > 100000
Splunk SPL Query
index=* sourcetype="suricata" OR sourcetype="zeek_http"
| where http_method="POST"
| eval is_elf = if(match(http_body, "\x7fELF"), 1, 0)
| eval is_ko = if(match(http_uri, "\.ko$") OR match(http_body, "\.ko"), 1, 0)
| where is_elf=1 OR is_ko=1
| stats values(dest_ip) as dest_ip values(http_uri) as uri
first(_time) as first_seen last(_time) as last_seen
count as attempts by src_ip
| table src_ip dest_ip uri attempts first_seen last_seen
| sort - attempts
Wazuh OSSEC Rule
<group name="draytek,cve-2024-41339,">
<rule id="100413" level="12" frequency="1" timeframe="60">
<decoded_as>json</decoded_as>
<field name="sourcetype">suricata</field>
<match>20241339|CVE-2024-41339|kernel module</match>
<description>Draytek Vigor kernel module upload attempt detected (CVE-2024-41339)</description>
<mitre>
<id>T1190</id>
</mitre>
<group>attack,exploitation,router,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence for CVE-2024-41339 is 0/4 — no patch evidence was found in any tracked source, and no official vendor advisory was located during analysis. The NVD description implies that patched firmware versions exist (the "prior to" version strings indicate the fixed thresholds), but until Draytek publishes an official advisory and firmware downloads, the vulnerability must be treated as effectively unpatched.
Immediate mitigations (do these now):
- Disable remote (WAN-side) management on all Draytek Vigor devices. Restrict the administration web interface to trusted management VLANs/IP ranges via firewall rules.
- If the configuration upload CGI is reachable from the LAN only, segment management traffic away from general user networks and enforce strict source-IP allowlists.
- Change all device administrator credentials to strong, unique passwords; audit for default credentials on all internet-exposed Draytek devices.
- Monitor management interfaces for anomalous HTTP POST traffic (large multipart uploads) using the detection content above. Watch for unusual process activity or abnormal device reboots as post-exploitation indicators.
- Apply compensating controls at the network perimeter: block direct inbound access to Vigor management ports (HTTP/HTTPS) from the internet unless absolutely required, and require VPN access to reach management interfaces.
Patch / upgrade steps:
- Monitor Draytek's official security advisory page and firmware download portal for model-specific patched firmware versions. The implied fixed versions per model are listed in the METADATA/PATCH_DETAILS section; verify firmware integrity (vendor checksums/signatures) before deployment.
- There is no workaround documented by the vendor; upgrade planning should begin immediately once firmware is available.
- Inventory all Draytek Vigor devices in the environment (model + current firmware) and track them against the affected-version list.
Long-term hardening:
- Establish a maintenance program that regularly updates network-device firmware.
- Replace end-of-life or unsupported Vigor models with currently maintained hardware once vendor support ends.
- Deploy network monitoring (Suricata/Zeek) at the edge to alert on management-interface anomalies and known CVE signatures.
- Integrate device configuration backups into a versioned, offline store so compromised devices can be cleanly restored to a known-good state.
- Consider restricting configuration-upload functionality to console/serial access only on critical gateways, where the platform allows it.
References
- NVD — CVE-2024-41339: https://nvd.nist.gov/vuln/detail/CVE-2024-41339
- CVE.org record — CVE-2024-41339: https://cve.org/CVERecord?id=CVE-2024-41339
- Draytek security advisories (official vendor page to monitor for the pending fix): https://www.draytek.com/about/security-advisory/
- CISA Known Exploited Vulnerabilities catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2024-41339 is NOT currently listed.
- No public researcher write-up, no vendor advisory text, and no exploit-in-the-wild evidence for this CVE were found in the tracked data sources as of the report date. Threat-actor campaign attribution is therefore not possible at this time.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.