CVE-2024-55024
Executive Summary
CVE-2024-55024 is an authentication bypass vulnerability in the authorization mechanism of Weintek cMT-3072XH2 industrial HMI (Human-Machine Interface) running easyweb v2.1.53 and OS v20231011. The flaw allows an unauthenticated attacker to perform administrative actions by abusing service accounts, effectively bypassing the authentication layer. This is a critical security issue for industrial control systems (ICS) and operational technology (OT) environments, as it can lead to full device compromise, unauthorized control of machinery, and potential disruption of industrial processes.
The vulnerability resides in the authorization logic of the easyweb web interface, where service accounts are not properly validated against the authentication state. An attacker can craft requests that impersonate these service accounts, gaining administrative privileges without valid credentials. No public exploit code or proof-of-concept is currently available, but the risk is high due to the device’s exposure in industrial networks.
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
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue in a proprietary embedded device (Weintek HMI). The supply chain risk is limited to the device’s firmware distribution and the vendor’s update mechanism.
CVSS Breakdown & Threat Level
The CVSS score is listed as 0.0 in the NVD data, which likely indicates incomplete scoring. Based on the vulnerability description, a reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Network (N) – exploitable remotely.
- Attack Complexity (AC): Low (L) – no special conditions required.
- Privileges Required (PR): None (N) – no authentication needed.
- User Interaction (UI): None (N) – no user action required.
- Scope (S): Unchanged (U) – the vulnerable component is the only affected system.
- Confidentiality (C): High (H) – full access to device data.
- Integrity (I): High (H) – ability to modify device configuration.
- Availability (A): High (H) – potential to disrupt device operation.
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Estimated Base Score: 9.8 (Critical)
Threat Level: Critical. The vulnerability allows unauthenticated remote administrative access to an industrial HMI, which can be used to manipulate industrial processes, exfiltrate sensitive data, or cause physical damage.
Deep Dive & Mechanics
The Weintek cMT-3072XH2 is a touchscreen HMI used in industrial automation. It runs a custom embedded Linux OS (v20231011) and provides a web interface called “easyweb” (v2.1.53) for remote monitoring and configuration. The authentication bypass occurs in the authorization mechanism that handles service accounts.
Root Cause: The web server fails to enforce authentication checks for API endpoints that are intended for internal service accounts. These service accounts are used by the device itself for inter-process communication or background tasks. The authorization logic incorrectly trusts requests that include certain headers or parameters associated with these accounts, without verifying that the request originated from a legitimate authenticated session.
Attack Vector: An attacker sends HTTP requests to the easyweb interface, manipulating headers (e.g., X-Service-Account: true) or parameters (e.g., ?service=admin) that the server interprets as coming from a privileged service account. The server then grants administrative access without requiring a login.
Impact: Once authenticated as an administrator, the attacker can:
- Modify HMI screens and logic.
- Upload malicious firmware or scripts.
- Access connected PLCs and other industrial devices.
- Disable alarms or safety functions.
- Exfiltrate process data.
Vulnerable vs. Patched Code
No patch is currently available. The vulnerable code is in the easyweb web server’s authorization module. A hypothetical fix would involve:
Vulnerable Code (pseudo):
def authorize_request(request):
if request.headers.get('X-Service-Account') == 'true':
return True # Bypass authentication
# ... normal authentication logic
Patched Code (pseudo):
def authorize_request(request):
# Service accounts must be authenticated via internal token
if request.headers.get('X-Service-Account') == 'true':
token = request.headers.get('X-Internal-Token')
if not validate_internal_token(token):
return False
# ... normal authentication logic
The patch would require that service account requests include a cryptographically signed token that is only known to legitimate internal processes.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Network access to the Weintek HMI’s web interface (port 80 or 443).
- Knowledge of the device’s IP address.
Exploitation Steps:
- Identify the target:
nmap -p 80,443 <target_ip> - Send a crafted request to bypass authentication:
curl -X GET "http://<target_ip>/cgi-bin/admin.cgi" \ -H "X-Service-Account: true" \ -H "User-Agent: Mozilla/5.0" - If successful, the response will contain administrative interface content.
- Use the session to perform actions like uploading a malicious firmware:
curl -X POST "http://<target_ip>/cgi-bin/upload.cgi" \ -H "X-Service-Account: true" \ -F "file=@malicious_firmware.bin"
Lab Setup:
- Use a virtualized Weintek HMI (if available) or a physical device in an isolated network.
- Tools: curl, Burp Suite, Metasploit (custom module), or a Python script.
Blue Team (Detection & Defense)
Detection:
- Monitor HTTP requests for the presence of
X-Service-Accountheader. - Alert on any request to administrative endpoints (e.g.,
/cgi-bin/admin.cgi) without prior authentication. - Use network traffic analysis to detect anomalous patterns.
Defense:
- Isolate the HMI on a separate VLAN with strict firewall rules.
- Disable the easyweb interface if not needed.
- Implement a Web Application Firewall (WAF) to block requests with suspicious headers.
- Monitor logs for unauthorized access attempts.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests containing
X-Service-Account: trueheader. - Requests to
/cgi-bin/admin.cgi,/cgi-bin/upload.cgi, or similar endpoints without a valid session cookie. - Unusual outbound connections from the HMI to external IPs (e.g., for data exfiltration).
File IOCs:
- Modified firmware files with unexpected hashes.
- Presence of unauthorized scripts in the device’s web root.
Behavioral IOCs:
- Unexpected changes to HMI screens or logic.
- Alarms being disabled or modified.
- Unauthorized access to connected PLCs.
Detection Engineering
YARA Rule
rule CVE_2024_55024_Weintek_AuthBypass {
meta:
description = "Detects HTTP requests exploiting CVE-2024-55024 authentication bypass"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-55024"
strings:
$header = "X-Service-Account: true"
$admin_path = "/cgi-bin/admin.cgi"
$upload_path = "/cgi-bin/upload.cgi"
condition:
any of ($header) and any of ($admin_path, $upload_path)
}
Sigma Rule
title: Weintek HMI Authentication Bypass Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with X-Service-Account header targeting Weintek HMI admin endpoints
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET' or 'POST'
cs-uri-query|contains: '/cgi-bin/'
cs-headers|contains: 'X-Service-Account: true'
condition: selection
falsepositives:
- Legitimate internal service account usage (rare)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2024-55024 Weintek HMI Authentication Bypass Attempt";
flow:to_server,established;
content:"X-Service-Account: true"; http_header;
content:"/cgi-bin/"; http_uri;
classtype:attempted-admin;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Disable easyweb: If remote web access is not required, disable the easyweb service on the HMI.
- Network Segmentation: Place the HMI on a dedicated VLAN with strict access controls. Block inbound traffic from untrusted networks.
- Firewall Rules: Allow only necessary IPs to access the HMI’s web interface.
Long-term Fix:
- Await an official firmware patch from Weintek. Monitor their security advisories.
- If a patch is released, apply it immediately after testing in a non-production environment.
Compensating Controls:
- Deploy a reverse proxy or WAF in front of the HMI to filter malicious headers.
- Enable logging and monitoring for all administrative actions.
- Use a VPN for remote access instead of exposing the web interface directly.
Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence. For questions, contact intelligence@valtersit.com.
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.