CVE-2026-20895 Overview
CVE-2026-20895 is a session hijacking vulnerability in the EV2GO ev2go.io electric vehicle charging station management platform. The WebSocket backend uses charging station identifiers to uniquely associate sessions but allows multiple endpoints to connect using the same session identifier. This implementation flaw results in predictable session identifiers and enables session hijacking or shadowing attacks, where the most recent connection displaces the legitimate charging station and receives backend commands intended for that station.
Critical Impact
Unauthorized users may authenticate as other users, or malicious actors can cause denial-of-service conditions by overwhelming the backend with valid session requests, potentially disrupting EV charging infrastructure operations.
Affected Products
- ev2go ev2go.io (all versions)
Discovery Timeline
- 2026-02-27 - CVE CVE-2026-20895 published to NVD
- 2026-03-05 - Last updated in NVD database
Technical Details for CVE-2026-20895
Vulnerability Analysis
This vulnerability is classified under CWE-613 (Insufficient Session Expiration), indicating improper session management practices in the WebSocket communication layer. The EV2GO backend fails to implement adequate session uniqueness validation, allowing attackers to predict and reuse session identifiers associated with legitimate charging stations. When an attacker connects using a valid station identifier, the backend accepts the connection and routes commands to the most recent connection, effectively shadowing or hijacking the legitimate station's session.
The network-accessible nature of this vulnerability means attackers can exploit it remotely without requiring authentication or user interaction. The attack surface includes any network path to the WebSocket backend, making internet-exposed deployments particularly vulnerable.
Root Cause
The root cause of this vulnerability lies in the insufficient session management implementation within the EV2GO WebSocket backend. The system relies solely on charging station identifiers for session association without implementing proper session uniqueness validation, cryptographic session tokens, or connection integrity checks. This design flaw allows multiple endpoints to claim the same session identifier, with the backend defaulting to the most recent connection rather than rejecting duplicate session attempts.
Attack Vector
The attack vector is network-based, allowing remote exploitation without authentication. An attacker can exploit this vulnerability by:
- Identifying or predicting valid charging station identifiers (which may follow predictable patterns)
- Establishing a WebSocket connection to the EV2GO backend using a legitimate station's identifier
- Displacing the real charging station's connection and receiving backend commands
- Intercepting operational commands, injecting malicious responses, or flooding the backend with session requests to cause denial of service
This vulnerability is particularly concerning for critical infrastructure as it could allow attackers to manipulate charging station operations or disrupt service availability across an EV charging network.
Detection Methods for CVE-2026-20895
Indicators of Compromise
- Unexpected WebSocket disconnections for legitimate charging stations followed by immediate reconnections from different source IP addresses
- Multiple concurrent connection attempts using identical charging station identifiers
- Unusual geographic distribution of connection sources for the same station ID
- Backend logs showing rapid session displacement patterns
Detection Strategies
- Monitor WebSocket connection logs for duplicate session identifier usage from different source endpoints
- Implement alerting for session displacement events where a new connection overwrites an existing active session
- Analyze connection patterns to identify anomalous reconnection frequencies or geographic inconsistencies
- Deploy network intrusion detection rules to flag suspicious WebSocket handshake patterns
Monitoring Recommendations
- Enable detailed logging of all WebSocket connection events including source IP, session identifiers, and timestamps
- Configure real-time alerts for session hijacking indicators such as rapid session takeovers
- Implement baseline monitoring for normal charging station connection behavior to identify deviations
- Correlate WebSocket connection events with physical charging station status to detect discrepancies
How to Mitigate CVE-2026-20895
Immediate Actions Required
- Review the CISA ICS Advisory for official mitigation guidance
- Restrict network access to the WebSocket backend to authorized IP ranges only
- Implement network segmentation to isolate charging station communications from untrusted networks
- Enable enhanced logging and monitoring for session-related events
Patch Information
Organizations should consult the official EV2GO Homepage and the CISA ICS Advisory for patch availability and remediation guidance. Additional technical details are available in the GitHub CSAF Resource.
Workarounds
- Implement VPN or private network connectivity for charging station WebSocket communications to prevent unauthorized access
- Deploy a Web Application Firewall (WAF) with rules to detect and block suspicious session identifier reuse
- Consider implementing mutual TLS authentication for charging station connections as an additional security layer
- Monitor for and respond to anomalous connection patterns while awaiting an official vendor patch
# Network segmentation example - restrict WebSocket backend access
# Configure firewall rules to limit access to known charging station IPs
iptables -A INPUT -p tcp --dport 443 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

