Security Vulnerability Report
中文
CVE-2026-26072 CVSS 4.2 MEDIUM

CVE-2026-26072

Published: 2026-03-26 15:16:33
Last Modified: 2026-03-31 13:06:07

Description

EVerest is an EV charging software stack. Versions prior to 2026.02.0 have a data race leading to `std::map<std::optional>` concurrent access (container/optional corruption possible). The trigger is EV SoC update with powermeter periodic update and unplugging/SessionFinished status. Version 2026.02.0 patches the issue.

CVSS Details

CVSS Score
4.2
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:N/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
// Conceptual PoC demonstrating the Data Race // This is a C++ simulation of the std::map concurrent access issue. #include <iostream> #include <map> #include <thread> #include <optional> #include <chrono> std::map<int, std::optional<double>> powermeter_data; bool running = true; // Simulates EV SoC Update / Powermeter Periodic Update void periodic_updater() { while (running) { // Unsafe write access powermeter_data[1] = 50.5; std::this_thread::sleep_for(std::chrono::milliseconds(10)); } } // Simulates Unplugging / SessionFinished event handler void session_finish_handler() { // Unsafe read/erase access auto it = powermeter_data.find(1); if (it != powermeter_data.end()) { // Potential data race here if concurrent write happens double val = it->second.value_or(0.0); std::cout << "Value: " << val << std::endl; powermeter_data.erase(it); } } int main() { std::thread t1(periodic_updater); // Simulate the trigger event std::this_thread::sleep_for(std::chrono::milliseconds(50)); session_finish_handler(); running = false; t1.join(); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-26072", "sourceIdentifier": "[email protected]", "published": "2026-03-26T15:16:33.010", "lastModified": "2026-03-31T13:06:06.817", "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 `std::map<std::optional>` concurrent access (container/optional corruption possible). The trigger is EV SoC update with powermeter periodic update and unplugging/SessionFinished status. Version 2026.02.0 patches the issue."}, {"lang": "es", "value": "EVerest es una pila de software de carga de VE. Las versiones anteriores a la 2026.02.0 tienen una condición de carrera de datos que lleva a un acceso concurrente a 'std::map' (posible corrupción del contenedor/opcional). El desencadenante es la actualización del SoC del VE con la actualización periódica del medidor de potencia y el estado de desconexión/SesiónFinalizada. La versión 2026.02.0 corrige el problema."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 4.2, "baseSeverity": "MEDIUM", "attackVector": "PHYSICAL", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 0.5, "impactScore": 3.6}]}, "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-9xwc-49c4-p79v", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}