← Back to Feed CACHED · 2026-07-31 06:09:59 · CACHE_KEY CVE-2026-7849
CVE-2026-7849 · CWE-77 · Disclosed 2026-07-30

Due to improper neutralization of special elements

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Someone left the keys in the ignition of every charging station on the lot

CVE-2026-7849 is a pre-authentication command injection in the SCM component of Phoenix Contact CHARX SEC-3xxx series EV charging controllers (models SEC-3000, SEC-3050, SEC-3100, SEC-3150). All firmware versions prior to 1.9.1 are affected. An unauthenticated attacker who can reach the controller over the network can inject OS commands via the idledisconnect parameter, and those commands execute as root. This is one of nine vulnerabilities disclosed on 2026-07-30 via INCIBE/CERT@VDE coordination, three of which are rated critical.

Phoenix Contact's CRITICAL 9.8 rating is technically defensible for the device itself — AV:N/AC:L/PR:N/UI:N with full CIA impact at root is textbook 9.8 territory. However, for enterprise patch prioritization the rating overestimates *reachable* risk. These controllers are embedded Linux appliances deployed inside charging station enclosures, typically behind site LANs or cellular management gateways. They are not general-purpose servers; they don't hold AD credentials or backup catalogs. The blast radius per device is limited to the charging station and its local network segment. That said, these are OT/ICS devices with electrical safety implications — a compromised controller could manipulate charging parameters, disable safety interlocks, or pivot into facility building-management networks. That OT safety dimension floors the verdict at HIGH even with limited internet exposure.

"Unauth root shell on EV charger controllers — OT safety risk keeps this at HIGH despite limited exposure"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Network reachability to SCM service

The attacker must reach the CHARX SEC controller's management interface over the network. The SCM component listens on an Ethernet or cellular-backhauled interface. In typical deployments these sit behind site-local LANs or 4G management tunnels, not directly internet-facing. An attacker on the same network segment or with access to the OCPP backend/VPN can reach it.
Conditions required:
  • Network path to CHARX SEC controller management interface
  • Target running firmware < 1.9.1
Where this breaks in practice:
  • Controllers are embedded in charging station enclosures, not on corporate LANs
  • Most deployments use 4G cellular backhaul with operator-managed APNs, limiting lateral reachability
  • No evidence of significant Shodan/Censys internet exposure for CHARX SEC devices
Detection/coverage: Asset discovery tools like runZero can fingerprint Phoenix Contact CHARX SEC devices. Network monitoring for unexpected connections to SCM service ports.
STEP 02

Inject command via idledisconnect parameter

The attacker sends a crafted request to the SCM component with a malicious payload in the idledisconnect parameter. No authentication is required. The injected command is incorporated into the system configuration without proper sanitization of special characters (CWE-77).
Conditions required:
  • No authentication required
  • Knowledge of the injectable parameter name (publicly disclosed)
Where this breaks in practice:
  • No public PoC or exploit code found as of 2026-07-31
  • Attacker needs to understand the CHARX SEC API/protocol to craft the request
Detection/coverage: IDS/IPS rules for command injection patterns in HTTP/API traffic to charging controller interfaces. No known Snort/Suricata signatures specific to this CVE yet.
STEP 03

Command execution as root

The injected command executes with root privileges on the embedded Linux OS. The attacker gains full control of the charging controller — read/write filesystem access, ability to modify charging parameters, install persistent backdoors, or manipulate safety-critical configurations. From here, the attacker can pivot to other devices on the same network segment.
Conditions required:
  • Successful injection from step 2
Where this breaks in practice:
  • Embedded Linux with limited tooling — no curl/wget in some firmware builds, limiting post-exploitation
  • Device has limited connectivity to broader corporate networks in properly segmented deployments
Detection/coverage: Host-based detection on embedded Linux is generally absent. Network anomaly detection for unusual outbound traffic from charging controller IPs is the primary detection vector.
STEP 04

Lateral movement or safety impact

With root on the controller, the attacker can manipulate OCPP communications to the charging backend, tamper with energy metering, disable overcurrent protections, or use the controller as a pivot point into facility networks (building management systems, site cameras, etc.). In a coordinated attack against many chargers on the same backend, grid-level load manipulation is theoretically possible.
Conditions required:
  • Root access on controller
  • Adjacent network targets or safety-critical configurations to abuse
Where this breaks in practice:
  • Properly segmented OT networks limit lateral movement
  • Individual charger compromise has limited blast radius
  • Coordinated multi-site attack requires backend access or internet-facing controllers
Detection/coverage: OCPP backend monitoring for anomalous charging session parameters. Energy management system alerts for unexpected load patterns.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNo known exploitation. Not listed on CISA KEV. No campaigns or threat actor activity reported as of 2026-07-31.
Proof of conceptNo public PoC. No exploit code found on GitHub or in researcher disclosures. The injectable parameter (idledisconnect in SCM) is named in the advisory, lowering the bar for weaponization.
EPSS score0.00419 — low probability of exploitation in the next 30 days. Reflects the niche target population and absence of public exploit code.
KEV statusNot listed. No CISA KEV entry as of 2026-07-31.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (9.8) — Unauthenticated remote code execution with no user interaction. The vector is accurate for the device in isolation but does not account for deployment-level exposure constraints.
Affected versionsCHARX SEC-3000, SEC-3050, SEC-3100, SEC-3150 — all firmware versions < 1.9.1 (models 1138965, 1139012, 1139018, 1139022)
Fixed versionFirmware 1.9.1 — available through Phoenix Contact support channels
Exposure dataNo significant internet-facing population found on Shodan or Censys. These are embedded controllers typically behind site LANs or cellular APNs. runZero provides asset discovery guidance for Phoenix Contact devices.
Disclosure coordinationCoordinated disclosure on 2026-07-30 by INCIBE (Spain's national CERT) with CERT@VDE. Part of a batch of 9 CVEs in CHARX SEC firmware (VDE-2026-060+). Three rated critical, three high, three medium.
Prior artCHARX SEC-3100 was previously targeted at Pwn2Own Automotive 2024 (Tokyo), where RET2 Systems and others found RCE bugs (CVE-2024-25994, CVE-2024-28135). This is a repeat-offender codebase for command injection.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to HIGH (8.2/10)

The single most decisive factor is OT/ICS safety role — the CHARX SEC is an electrical vehicle charging controller where root compromise can manipulate safety-critical parameters (overcurrent protection, charging voltage), establishing a HIGH floor despite limited network exposure. The downgrade from CRITICAL reflects that real-world reachability is narrow: these embedded controllers sit behind site LANs or cellular management tunnels with no significant internet-facing population, and there is no active exploitation or public PoC.

HIGH Vulnerability existence and severity on the device itself
MEDIUM Real-world network exposure and reachability assessment
LOW Installed base size and percentage of internet-facing units

Why this verdict

  • OT safety floor enforced: CHARX SEC controllers manage electrical safety interlocks for EV charging. Root compromise can tamper with overcurrent protection and charging parameters, creating physical safety risk. This floors the verdict at HIGH per the OT/ICS/SCADA catalog.
  • Role multiplier: (a) *Low-value role* — lab/demo units: chain succeeds, blast radius = single device (LOW). (b) *Typical role* — production charging station on site LAN: chain succeeds if attacker has local network access, blast radius = charging point + potential pivot to facility network (MEDIUM-HIGH). (c) *High-value role* — charging infrastructure connected to fleet management / grid operator backend: chain succeeds, blast radius = safety impact + potential grid load manipulation + lateral movement to OT network (HIGH). The high-value role is plausible for ≥1% of installs, enforcing the HIGH floor.
  • Friction downward from CRITICAL: No internet exposure population found on Shodan/Censys. Controllers are embedded appliances inside physical enclosures, accessed via Ethernet or 4G APN — not routinely exposed to the internet. Attacker needs local network access or compromised backend/VPN in most deployments.
  • No active exploitation: Zero KEV listing, no in-the-wild campaigns, EPSS at 0.42%. No public PoC weaponization. This removes the urgency multiplier that would push back toward CRITICAL.
  • Repeat-offender codebase but injectable parameter is named: The CHARX SEC firmware has had prior command injection bugs (Pwn2Own Automotive 2024). The idledisconnect parameter is named in the advisory, which lowers the exploitation difficulty for a motivated attacker — but the niche target population limits mass exploitation.

Why not higher?

CRITICAL would require either active exploitation (KEV/campaigns), significant internet-facing exposure, or a canonical high-value role where ≥10% of the installed base occupies that role by definition. CHARX SEC controllers are niche OT devices with no confirmed internet exposure and no exploitation activity. The safety implications are real but localized to individual charging stations in most deployments, not fleet-scale or supply-chain-scale.

Why not lower?

MEDIUM or below would ignore the OT/ICS safety dimension. This is an unauthenticated root RCE on a device that controls electrical charging parameters — physical safety implications (fire, electrical hazard) are non-trivial. The attack chain has zero friction once the network is reached (no auth, no interaction, low complexity). Prior Pwn2Own research confirms the codebase is exploitable. The HIGH floor for OT/ICS safety-critical devices applies.

05 · Compensating Control

What to do — in priority order.

  1. Segment charging controllers onto dedicated OT VLAN — Isolate CHARX SEC controllers from corporate networks and restrict management access to a dedicated OT management VLAN. This eliminates the most common pivot path. Deploy within 30 days per noisgate mitigation SLA for HIGH.
  2. Restrict management interface access via firewall rules — Block all inbound traffic to the SCM component except from authorized management stations. If using 4G backhaul, ensure the APN is private and not routable from the internet. Apply ACLs at the network edge and on any VPN concentrators.
  3. Monitor OCPP backend for anomalous sessions — Alert on unexpected charging parameter changes, firmware update attempts, or unusual session patterns from controller IPs. This provides detection-in-depth while waiting for the firmware update.
  4. Apply firmware 1.9.1 — The definitive fix. Schedule firmware updates through Phoenix Contact support channels. For large fleets, coordinate with your charging station O&M provider. Target completion within 180 days per noisgate remediation SLA for HIGH.
What doesn't work
  • WAF/reverse proxy in front of controller — the SCM component uses a proprietary protocol, not standard HTTP. A WAF will not parse or filter the injectable parameter.
  • EDR/antivirus on the controller — these are embedded Linux appliances with no agent support. Host-based detection is not feasible.
  • TLS/certificate pinning on OCPP — while good practice, this protects the backend communication channel, not the management interface where the injection occurs.
06 · Verification

Crowdsourced verification payload.

Run this script on any Linux/macOS workstation that can reach the CHARX SEC controller's management IP. Invoke with: bash check_charx_cve2026-7849.sh <controller-ip>. No special privileges required — it queries the device firmware version via the controller's API.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_charx_cve2026-7849.sh — Check Phoenix Contact CHARX SEC firmware version
# Usage: bash check_charx_cve2026-7849.sh <controller-ip>
# Requires: curl, network access to CHARX SEC management interface
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -euo pipefail

if [ $# -lt 1 ]; then
  echo "Usage: $0 <controller-ip>"
  exit 2
fi

TARGET="$1"
TIMEOUT=10

# Attempt to retrieve firmware version from CHARX SEC API
# The device exposes version info on its web interface
FW_RAW=$(curl -sk --connect-timeout "$TIMEOUT" "https://${TARGET}/api/system/info" 2>/dev/null || \
         curl -sk --connect-timeout "$TIMEOUT" "http://${TARGET}/api/system/info" 2>/dev/null || \
         echo "")

if [ -z "$FW_RAW" ]; then
  echo "UNKNOWN — Could not connect to CHARX SEC at ${TARGET}. Verify IP and network path."
  exit 2
fi

# Extract firmware version (expected format: X.Y.Z)
FW_VERSION=$(echo "$FW_RAW" | grep -oP '"firmware[Vv]ersion"\s*:\s*"\K[0-9]+\.[0-9]+\.[0-9]+' || echo "")

if [ -z "$FW_VERSION" ]; then
  echo "UNKNOWN — Connected to ${TARGET} but could not parse firmware version from response."
  echo "Raw response (first 500 chars): ${FW_RAW:0:500}"
  exit 2
fi

echo "Detected firmware version: ${FW_VERSION}"

# Compare version against fixed version 1.9.1
IFS='.' read -r MAJOR MINOR PATCH <<< "$FW_VERSION"
FIXED_MAJOR=1
FIXED_MINOR=9
FIXED_PATCH=1

if [ "$MAJOR" -gt "$FIXED_MAJOR" ] 2>/dev/null; then
  echo "PATCHED — Firmware ${FW_VERSION} is above the fixed version 1.9.1."
  exit 0
elif [ "$MAJOR" -eq "$FIXED_MAJOR" ] && [ "$MINOR" -gt "$FIXED_MINOR" ] 2>/dev/null; then
  echo "PATCHED — Firmware ${FW_VERSION} is above the fixed version 1.9.1."
  exit 0
elif [ "$MAJOR" -eq "$FIXED_MAJOR" ] && [ "$MINOR" -eq "$FIXED_MINOR" ] && [ "$PATCH" -ge "$FIXED_PATCH" ] 2>/dev/null; then
  echo "PATCHED — Firmware ${FW_VERSION} meets or exceeds the fixed version 1.9.1."
  exit 0
else
  echo "VULNERABLE — Firmware ${FW_VERSION} is below the fixed version 1.9.1. CVE-2026-7849 applies."
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
This is a real, weaponizable unauth RCE on OT charging infrastructure, but it is not a hair-on-fire emergency for most enterprises. Monday morning: inventory all Phoenix Contact CHARX SEC-3xxx controllers across your sites using runZero or your OT asset management platform. Immediately verify network segmentation — these controllers must not be reachable from corporate networks or the internet. Per the noisgate mitigation SLA for HIGH, deploy compensating controls (VLAN isolation, firewall ACLs restricting SCM access) within 30 days. Per the noisgate remediation SLA for HIGH, coordinate firmware updates to 1.9.1 with your charging station O&M provider and complete rollout within 180 days. If any controllers are confirmed internet-facing or on flat networks with corporate assets, treat those as CRITICAL exceptions and patch within 72 hours. No active exploitation exists today, but the injectable parameter name is public and this codebase has been exploited at Pwn2Own before — the window for weaponization is measured in weeks, not months.

Sources

  1. INCIBE advisory on CHARX SEC vulnerabilities (2026-07-30)
  2. Canadian Centre for Cyber Security — Phoenix Contact Advisory AV26-546
  3. RET2 Systems — Pwn2Own Automotive 2024 CHARX SEC bugs
  4. VicOne — Pwn2Own Automotive CHARX SEC-3100 RCE vulnerabilities
  5. runZero — Finding Phoenix Contact assets
  6. Phoenix Contact PSIRT
  7. Phoenix Contact CHARX SEC-3100 product page
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.