CVE-2024-11790
Executive Summary
CVE-2024-11790 is a critical stack-based buffer overflow vulnerability in Fuji Electric Monitouch V-SFT, specifically within the parsing of V10 files. This vulnerability allows remote attackers to execute arbitrary code on affected installations, but requires user interaction (e.g., opening a malicious file or visiting a malicious page). The flaw stems from improper validation of user-supplied data length before copying it to a stack-based buffer. With a CVSS score of 7.8, this vulnerability poses a significant risk to industrial control systems (ICS) environments where Monitouch V-SFT is used for HMI (Human-Machine Interface) configuration. No public exploit or patch details are currently available, but the vulnerability has been reported via ZDI-CAN-24449.
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
CVSS Breakdown & Threat Level
- CVSS Score: 7.8 (High)
- Attack Vector: Local (AV:L) – Exploitation requires user interaction.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: Required (UI:R) – Victim must open a malicious file or page.
- Scope: Unchanged (S:U) – Vulnerability affects only the vulnerable component.
- Confidentiality Impact: High (C:H) – Full data access possible.
- Integrity Impact: High (I:H) – Arbitrary code execution.
- Availability Impact: High (A:H) – Potential system crash or compromise.
Threat Level: High. Exploitation could lead to full compromise of the HMI configuration workstation, potentially allowing attackers to manipulate industrial processes or pivot to other ICS assets.
Deep Dive & Mechanics
The vulnerability exists in the V10 file parsing module of Fuji Electric Monitouch V-SFT. When the software processes a specially crafted V10 file, it fails to validate the length of user-supplied data before copying it to a fixed-size stack buffer. This results in a classic stack-based buffer overflow (CWE-121). An attacker can overwrite the return address and other critical stack data, leading to arbitrary code execution in the context of the current process (typically the user running the V-SFT application).
The attack vector is local, requiring the victim to open a malicious V10 file (e.g., via email, download, or USB). Once executed, the attacker gains the same privileges as the logged-in user, which could be an administrator in many ICS environments.
Vulnerable vs. Patched Code
Since no patch details are available, a generic comparison is provided:
Vulnerable Code (Conceptual):
void parse_v10_file(char *data) {
char buffer[256];
// No length check
strcpy(buffer, data); // Stack overflow if data > 255 bytes
}
Patched Code (Conceptual):
void parse_v10_file(char *data) {
char buffer[256];
// Proper length validation
if (strlen(data) >= sizeof(buffer)) {
// Handle error
return;
}
strcpy(buffer, data);
}
The fix would involve adding bounds checking before copying data to the stack buffer, or using safer functions like strncpy with proper null-termination.
Exploitation & Lab Setup
Red Team (Exploitation)
Lab Setup:
- Target: Windows 10/11 with Fuji Electric Monitouch V-SFT (vulnerable version).
- Attacker: Kali Linux with Metasploit or custom exploit.
- Tools: Python, Immunity Debugger, Mona.py, msfvenom.
Exploitation Steps:
- Craft Malicious V10 File: Use a Python script to create a V10 file with a payload that triggers the buffer overflow.
- Deliver File: Send the file via email or host it on a malicious website.
- Trigger Vulnerability: Victim opens the file in V-SFT.
- Gain Code Execution: The overflow overwrites the return address, redirecting execution to shellcode.
Example Payload Generation (msfvenom):
msfvenom -p windows/exec CMD=calc.exe -f python -b "\x00" > payload.py
Python Exploit Skeleton:
import struct
# Shellcode (calc.exe for demo)
shellcode = b"\x90" * 100 # Replace with actual shellcode
# Buffer overflow offset (to be determined via fuzzing)
offset = 260
eip = struct.pack("<I", 0x12345678) # Address of JMP ESP
# Craft malicious V10 file
payload = b"A" * offset + eip + shellcode
with open("malicious.v10", "wb") as f:
f.write(payload)
Blue Team (Defense)
Detection & Prevention:
- User Awareness: Train users not to open untrusted V10 files.
- Application Whitelisting: Restrict execution of V-SFT to authorized users only.
- Memory Protection: Enable ASLR, DEP, and CFG on Windows.
- Network Segmentation: Isolate HMI workstations from the internet.
- File Integrity Monitoring: Monitor for creation of .v10 files in suspicious locations.
Hunting:
- Monitor for crashes of
V-SFT.exeor related processes. - Look for unusual child processes spawned by V-SFT (e.g., cmd.exe, powershell.exe).
- Analyze network connections from V-SFT workstations for anomalous outbound traffic.
Indicators of Compromise (IOCs)
- File Hashes: (Example – replace with actual when available)
malicious.v10– SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- Process Anomalies:
V-SFT.exespawningcmd.exeorpowershell.exe.- Unexpected memory access violations in
V-SFT.exe.
- Network Indicators:
- Outbound connections from V-SFT workstation to unknown IPs (e.g., on port 80/443).
- Registry Changes:
- Unusual entries under
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
- Unusual entries under
Detection Engineering
YARA Rule
rule CVE_2024_11790_Malicious_V10 {
meta:
description = "Detects malicious V10 files exploiting CVE-2024-11790"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-11790"
strings:
$magic = "V10" // File header or magic bytes
$overflow_pattern = /AAAA[A-Z]{250,}/ // Long string pattern
condition:
$magic at 0 and #overflow_pattern > 0
}
Sigma Rule
title: Suspicious V-SFT Process Behavior
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential exploitation of CVE-2024-11790 via abnormal child processes
author: Valters IT
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: 'V-SFT.exe'
Image|endswith:
- 'cmd.exe'
- 'powershell.exe'
- 'wscript.exe'
- 'cscript.exe'
condition: selection
falsepositives:
- Legitimate administrative tasks
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-11790 - Potential V10 File Download"; flow:to_server,established; content:"|56 31 30|"; depth:3; content:"|41 41 41 41|"; distance:0; within:100; classtype:attempted-user; sid:1000001; rev:1;)
Remediation & Mitigation
- Patch: Await official patch from Fuji Electric. Contact vendor for updates.
- Workaround: Disable V10 file parsing if not needed, or use a sandbox to open untrusted files.
- Mitigation:
- Implement strict file upload/download policies.
- Use endpoint detection and response (EDR) to monitor for exploitation attempts.
- Apply principle of least privilege to user accounts.
- Enable Windows Defender Exploit Guard (e.g., Control Flow Guard, Data Execution Prevention).
Valters IT – Securing Industrial Environments
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.