CVE-2024-46939
Executive Summary
CVE-2024-46939 is a path traversal vulnerability (CWE-22) affecting the game extension engine of versions 1.2.7.0 and earlier of an as-yet-unidentified vendor product. The vulnerability allows attackers to construct malicious parameters that traverse directory paths, enabling local file overwrite attacks on the target system. This arbitrary file write capability can lead to remote code execution, privilege escalation, or persistent system compromise depending on the file targeted and the execution context of the vulnerable service. The vulnerability has a CVSS score of N/A due to incomplete scoring data, and at the time of writing, no public proof-of-concept exists, though the patch status is claimed (confidence 2/4) with a single unconfirmed source.
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 vulnerability resides in the game extension engine component of the affected product (version 1.2.7.0 and earlier). The engine exposes certain components—likely API endpoints, file-handling routines, or resource loading functions—that accept user-supplied parameters without adequate input validation. Specifically, the flaw is a path traversal vulnerability where an attacker can inject directory traversal sequences (such as ../ or ..\, or encoded variants like %2e%2e%2f or Unicode overlong forms) into parameters that are subsequently used to construct filesystem paths for file write operations.
The vulnerable code path likely follows a pattern similar to:
string filePath = GetExtensionResourcePath(userInputParameter);
string resolvedPath = Path.Combine(baseDirectory, filePath);
// No canonicalization or containment check before writing
File.WriteAllBytes(resolvedPath, gameAssetData);
The absence of path canonicalization (e.g., Path.GetFullPath() followed by a prefix check against the intended base directory) permits an attacker to escape the intended sandbox directory and target arbitrary files on the local filesystem. Because the operation is a write (not just a read), the impact is significantly elevated—the attacker can overwrite any file that the process has write permissions for. This includes, but is not limited to:
- Configuration files (
.ini,.xml,.json) to alter application behavior or disable security controls - Executable files or DLL files for the application or its dependencies, enabling code execution upon next load
- Scheduled task definitions or startup scripts for persistence
- System libraries (if the process runs with elevated privileges)
- Game save files or modification scripts that are subsequently loaded and interpreted
The attack surface is the set of "exposed components" mentioned in the NVD description—these could be exposed HTTP endpoints (for networked game clients/servers), inter-process communication (IPC) channels, or file import/export functions within the game engine. The engine likely processes game extensions (mods, plugins, asset packs) that are distributed as archives or directories, and the parameter in question may be a file path within the extension archive that is extracted or written unsafely.
Given that the affected version is 1.2.7.0 and earlier, the vendor has presumably addressed the issue in a subsequent release, although the exact patched version number is not provided in the available data. The single-source patch claim (confidence 2/4) suggests that a fix has been announced but not yet independently verified through advisory publication or code inspection.
Exploitation Scenarios
The following attack chain assumes the vulnerable game extension engine is deployed in a networked scenario (e.g., a game server that accepts extension uploads from clients) or a local scenario where an attacker can execute commands or influence input parameters (e.g., through a modded game client connecting to a server). The exploit path follows these steps:
1. Reconnaissance and Target Identification
- Identify target exposure: The attacker probes the game server or application for exposed extension-loading endpoints. Common indicators include HTTP POST endpoints like
/api/extensions/upload,/mods/load, or management UIs that accept file paths. For local exploitation, the attacker may already have code execution capability with limited privileges (e.g., a sandboxed game process) and seeks to escalate. - Enumerate writable paths: The attacker determines the operating system and the privilege level of the vulnerable process. On Windows, targeting
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\is a viable persistence vector; on Linux,~/.bashrc,/etc/cron.d/, or systemd units may be targeted.
2. Trigger and Weaponization
- Craft malicious parameter: The attacker constructs a path traversal payload. For example, if the extension engine accepts a
filePathparameter and writes an asset to a subdirectory, the payload might be:
or with URL encoding if wrapped in an HTTP query:../../../../Windows/System32/evil.dll/api/extension/install?filePath=..%2f..%2f..%2f..%2fUsers%2fvictim%2fAppData%2fRoaming%2fMicrosoft%2fWindows%2fStart%20Menu%2fPrograms%2fStartup%2fpayload.exe - Bypass filtering (if any): If basic filtering exists, the attacker may use alternative traversal sequences:
- Windows-specific:
....//,..\\,..%5c - Double URL encoding:
%252e%252e%252f - 8.3 short-name DOS paths:
C:\PROGRA~1\..\.. - Unicode overlong encoding:
%c0%ae%c0%ae%c0%af
- Windows-specific:
- Prepare payload content: The attacker prepares the content to be written. For a DLL hijack, this could be a compiled malicious DLL with a valid export matching an awaited function. For a web application, this could be a PHP/JSP webshell. For a game mod, this could be a Lua/Python script that executes OS commands.
3. Payload Execution
- Deliver the write: The attacker submits the crafted request. The vulnerable engine resolves the traversal path and writes the payload to the target location. The success of the write depends on:
- The process having write permissions to the destination directory.
- The destination file not being locked or read-only.
- The supplied content passing any content-type checks (though these are often absent or trivially bypassed with magic-byte prefixes).
- Trigger execution:
- If targeting a startup directory: rebooting the system or logging in triggers execution.
- If targeting a scheduled task: the task fires at its next scheduled time.
- If targeting a DLL: restarting the vulnerable application or loading the library triggers the malicious code.
- If targeting a configuration file: causing the application to re-read configuration (e.g.,
SIGHUPor a config reload endpoint) activates the malicious settings. - If targeting a game script: launching a game level that loads the script executes the payload.
4. Post-Exploitation Impact
- Code execution: The payload runs with the privileges of the process that loaded it. If the game service runs as a high-privilege user (e.g.,
rootorSYSTEM)—common for game servers—the attacker gains those privileges. - Persistence: The malicious file survives reboots via startup entries, cron jobs, or service registration.
- Lateral movement: With elevated privileges or valid credentials harvested from memory, the attacker can pivot to other systems on the network.
- Data exfiltration: The attacker can read local files, including configuration secrets, player databases, or other sensitive game/application data.
Impact Assessment
The CVSS vector is officially N/A, meaning no qualitative or quantitative severity rating has been assigned by the CNA. However, based on the vulnerability characteristics, a reasonable estimated CVSS v3.1 score would fall in the High range (7.0–8.9). The relevant subscores would likely include:
- Attack Vector (AV): Network — if the exposed components are network-accessible, which the description implies ("attackers can construct parameters").
- Attack Complexity (AC): Low — path traversal is a well-understood flaw with trivial exploitation.
- Privileges Required (PR): Low — an attacker likely needs only a valid account or the ability to reach the exposed endpoint.
- User Interaction (UI): None — no victim interaction required.
- Confidentiality Impact (C): High — file write can be chained to read local files, but direct read is not guaranteed by the flaw alone.
- Integrity Impact (I): High — arbitrary file overwrite is a direct integrity compromise.
- Availability Impact (A): High — the attacker can overwrite critical system files, causing service failure or denial of service.
Business impact for the affected organization depends on the deployment context:
- Game developers/publishers using this engine would face compromise of their distribution infrastructure if the engine is used in client or server tooling, potentially allowing malicious modifications to be pushed to end users.
- Enterprises running game servers (e.g., dedicated server hosting) face full server compromise, potentially exposing player data and internal network segments.
- End users running the game locally face local privilege escalation or persistence of malware installed through other vectors.
Blast radius: If the vulnerable service runs with least privilege, only user-level files are at risk—though a persistence mechanism via user startup scripts remains high-impact. If the service runs as an administrator/root account (common in production game server environments), the blast radius expands to the entire operating system and any data accessible to that account.
Detection Guidance
Sigma Rule
title: Path Traversal Attempt via Game Extension Loader
id: 9e3a5f2c-4b7d-4f1a-9c2e-8d9b1a3e5f7a
status: experimental
description: Detects attempts to exploit CVE-2024-46939 by using path traversal sequences in parameters targeting a game extension engine
references:
- https://nvd.nist.gov/vuln/detail/CVE-2024-46939
author: Valtersit Threat Intelligence
date: 2025/01/15
logsource:
category: webserver
product: generic
detection:
selection_url_params:
- c-uri|contains|list:
- '..%2f'
- '..%5c'
- '%2e%2e%2f'
- '%c0%ae%c0%ae'
- '/../'
- '\..\'
selection_field_names:
- c-uri|contains|all:
- 'filePath'
- 'extension'
- c-uri|contains|all:
- 'modPath'
- 'load'
selection_engine_endpoint:
c-uri|contains|any:
- '/api/extensions/'
- '/mods/install'
- '/plugin/load'
- '/asset/upload'
condition: selection_engine_endpoint and selection_url_params and selection_field_names
falsepositives:
- Legitimate use of encoded characters in file paths (rare; requires additional context)
level: high
tags:
- attack.t1190
- cve.2024.46939
- attack.t1133
YARA Rule
rule CVE_2024_46939_Game_Extension_PathTraversal
{
meta:
author = "Valtersit Threat Intelligence"
description = "Detects payload strings/packets associated with path traversal exploitation of CVE-2024-46939"
date = "2025-01-15"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-46939"
cve = "CVE-2024-46939"
severity = "high"
strings:
$s1 = "..%2f" ascii wide
$s2 = "..%5c" ascii wide
$s3 = "%2e%2e%2f" ascii wide
$s4 = "/../../" ascii wide
$s5 = "\\..\\..\\" ascii wide
$s6 = "filePath" ascii wide
$s7 = "extensionPath" ascii wide
$s8 = "..%c0%af" ascii wide
$s9 = "..%252f" ascii wide
$s10 = "..\\..\\Windows\\System32" ascii wide
$s11 = "..%2f..%2f..%2fetc%2fpasswd" ascii wide
condition:
uint16(0) == 0x4D5A or filesize < 10KB or true
and 2 of ($s1, $s2, $s3, $s4, $s5, $s8, $s9)
and (1 of ($s6, $s7) or 1 of ($s10, $s11))
}
Suricata IDS Rule
alert http any any -> any any (msg:"ET EXPLOIT CVE-2024-46939 Path Traversal in Game Extension Engine"; flow:established,to_server; content:"/api/extensions/"; http.uri; content:"filePath="; http.uri; pcre:"/(?:\.\.(?:%2f|%5c|\/|\\|%c0%ae))+.{0,50}?(?:filePath|modPath|extension|asset)=/Ui"; classtype:attempted-admin; reference:cve,2024-46939; sid:2024693901; rev:1; metadata:created_at 2025_01_15, updated_at 2025_01_15;)
Elastic Detection
sequence by source.ip, process.executable with maxspan=5m
[network where event.category == "network" and network.direction == "inbound" and
http.request.uri contains "/api/extensions/" and
(http.request.uri contains ".." or http.request.uri contains "%2e%2e") and
(http.request.uri contains "filePath" or http.request.uri contains "modPath")]
[file where event.action != "deletion" and
file.path : ("C:\\Users\\*\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\*", "/etc/*", "/root/*", "C:\\Windows\\*")]
Splunk SPL Query
index=web sourcetype=access_combined
| where match(uri, "(?i)(\.\./|\.\.%5c|\.\.%2f|%2e%2e%2f|\.\.%252f)")
| where match(uri, "(?i)(filePath|modPath|extensionPath|assetPath)")
| where match(uri, "(?i)(/api/extensions/|/mods/|/plugin/load|/asset/upload)")
| eval signature = "CVE-2024-46939 Path Traversal Attempt"
| eval severity = "high"
| table _time, src_ip, uri, http_user_agent, status, signature, severity
| sort -_time
Wazuh OSSEC Rule
<group name="cve-2024-46939,">
<rule id="202469" level="12">
<if_sid>31100</if_sid> <!-- parent web server rule group -->
<field name="url">\.\.(?:/|%2f|%5c|\\|%c0%ae).*filePath=|\.\.(?:/|%2f|%5c|\\|%c0%ae).*modPath=</field>
<description>CVE-2024-46939: Path traversal attempt against game extension engine</description>
<group>attack.t1190,</group>
<mitre>
<id>T1190</id>
</mitre>
</rule>
<rule id="202470" level="15">
<if_sid>202469</if_sid>
<field name="url">(?:Windows\\System32|/etc/passwd|/etc/shadow|AppData\\Roaming\\Microsoft\\Windows\\Start|\.ssh\\authorized_keys)</field>
<description>CVE-2024-46939: Path traversal targeting high-value system file</description>
<group>attack.t1190,</group>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence status: 2/4 — CLAIMED (single source claims patch, not independently confirmed). The NVD description states the flaw affects "versions 1.2.7.0 and earlier," which strongly implies a patched version exists at 1.2.8.0 or later. However, the patch sources list is empty, and the vendor advisory has not been independently located or verified. Treat the patch claim with caution until the vendor publishes an official advisory.
1. Immediate Mitigations (apply before patching)
- Disable or restrict access to the game extension engine's exposed components. If the engine exposes HTTP endpoints, implement an allow-list firewall rule or reverse-proxy ACL to block all access except from trusted administrative IPs.
- Deploy a Web Application Firewall (WAF) rule to block common path traversal payloads (
.,%2e,../,..\, encoded variants) in query parameters and POST bodies targeting the extension engine endpoints. - Run the vulnerable service under a least-privilege account. Create a dedicated service user with write access limited to the game/application data directory. Deny write access to system directories, user profile startup folders, and web root directories.
- Monitor file system integrity using a tool like
tripwire,AIDE, or OS-level audit rules (e.g., Windows SACL auditing, Linuxauditd) configured to alert on writes to critical system directories (C:\Windows,/etc,/boot,/root).
2. Patch/Upgrade Steps
- Contact the vendor (or your game/application distributor) to obtain the patched version. The vulnerable version is 1.2.7.0 and earlier; upgrade to the latest available release.
- Verify the patch integrity via cryptographic hashes (SHA-256/MD5) published on the vendor's official download channel. Do not rely on third-party mirrors.
- After patching, confirm the fix by testing the extension engine with a sample path traversal payload (
../../../../etc/passwd) and verifying that the write is blocked or that the path is properly canonicalized and contained within the allowed base directory. - Check for dependency updates — the vulnerable "game extension engine" may be a third-party component. If so, ensure the vendor of the parent application has recompiled it against the fixed engine version.
3. Long-Term Hardening
- Adopt secure file-handling practices: Ensure the application validates that user-supplied file paths resolve to within an expected base directory using canonicalization (
Path.GetFullPath()orrealpath()3) followed by a prefix comparison. Reject any path containing traversal sequences or null bytes. - Implement input validation layers: Use a positive allow-list for acceptable file names (e.g., alphanumeric characters, underscores, hyphens, single dot for extension) rather than a blacklist of traversal sequences.
- Containerize the game/application service: Run the engine inside a container (Docker, Podman) or VM with a read-only root filesystem and a bind-mounted writable volume for legitimate extension data. This reduces the blast radius even if traversal occurs.
- Enable and enforce endpoint authentication: All extension-loading endpoints should require authentication and ideally also perform capability checks (e.g., only designated administrator accounts can install extensions).
- Establish a threat intelligence cycle: Monitor vendor security advisories and CISA KEV updates. Subscribe to the CVE alert for CVE-2024-46939 and related component CVEs.
References
NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2024-46939 — Official National Vulnerability Database listing with the description and affected version information.
CVE Mitre Record: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-46939 — CVE list entry with the original assignment and CNA attribution.
FIRST.org EPSS: https://www.first.org/epss/ — Monitor this page for the EPSS score once FIRST scores this CVE, to assess active exploitation probability.
CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2024-46939 is NOT currently listed. Recheck regularly, as KEV additions typically follow confirmed in-the-wild exploitation.
OWASP Path Traversal Guide: https://owasp.org/www-community/attacks/Path_Traversal — Background reference on the vulnerability class and common bypass techniques used in exploitation.
Threat actor activity: Not currently known. This CVE has not been observed in active exploitation campaigns, and no exploit code has been published as of January 15, 2025. The absence of a public PoC and CISA KEV inclusion suggests low attacker interest at present, but the medium-to-high estimated severity warrants proactive patching. If the single-source patch claim is confirmed, prioritize deployment to close the exposure window.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.