CVE-2025-68140

4.3 MEDIUM

📋 TL;DR

This vulnerability allows attackers to bypass session validation in EVerest EV charging software by sending V2G messages with session ID 0 when no session is registered. This enables unauthorized MQTT message emission and communication with V2G handlers, potentially manipulating charging sessions. All EVerest deployments prior to version 2025.9.0 are affected.

💻 Affected Systems

Products:
  • EVerest EV charging software stack
Versions: All versions prior to 2025.9.0
Operating Systems: Any OS running EVerest
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all EVerest deployments using V2G message handling with default session management.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could manipulate charging sessions, disrupt charging operations, inject malicious MQTT messages, or interfere with vehicle-to-grid communications.

🟠

Likely Case

Unauthorized access to session contexts, potential manipulation of charging parameters, and unauthorized MQTT message injection.

🟢

If Mitigated

Limited impact if proper network segmentation and access controls are in place, but session manipulation remains possible.

🌐 Internet-Facing: MEDIUM - Requires access to V2G message interface which may be exposed in some deployments.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could exploit this to manipulate charging sessions.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending specially crafted V2G messages with session ID 0 when no session is active.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2025.9.0

Vendor Advisory: https://github.com/EVerest/everest-core/security/advisories/GHSA-w385-3jwp-x47x

Restart Required: Yes

Instructions:

1. Update EVerest to version 2025.9.0 or later. 2. Restart all EVerest services. 3. Verify the fix by testing session validation.

🔧 Temporary Workarounds

Session validation enhancement

all

Implement additional session validation checks to reject messages with session ID 0 when no session is registered.

# Requires code modification to add session validation logic

Network segmentation

linux

Restrict access to V2G message interfaces to authorized systems only.

# Configure firewall rules to limit V2G port access
# Example: iptables -A INPUT -p tcp --dport [V2G_PORT] -s [TRUSTED_NETWORK] -j ACCEPT

🧯 If You Can't Patch

  • Implement strict network access controls to limit V2G message interface exposure
  • Monitor for unusual MQTT messages or session ID 0 usage in logs

🔍 How to Verify

Check if Vulnerable:

Check EVerest version: if version < 2025.9.0, system is vulnerable. Test by sending V2G message with session ID 0 when no session is active.

Check Version:

everest --version or check package manager for installed version

Verify Fix Applied:

After patching, attempt to send V2G message with session ID 0 when no session is active - it should be rejected. Verify version is 2025.9.0 or later.

📡 Detection & Monitoring

Log Indicators:

  • V2G messages with session ID 0 being accepted
  • Unauthorized MQTT message emissions
  • Session context updates from unauthenticated sources

Network Indicators:

  • Unusual V2G message traffic patterns
  • MQTT messages from unexpected sources

SIEM Query:

source="everest" AND (session_id=0 OR "V2G message accepted" OR "unauthorized MQTT")

🔗 References

📤 Share & Export