CVE-2026-28230: CWE-284: Improper Access Control in steve-community steve
SteVe is an open-source EV charging station management system. In versions up to and including 3.11.0, when a charger sends a StopTransaction message, SteVe looks up the transaction solely by transactionId (a sequential integer starting from 1) without verifying that the requesting charger matches the charger that originally started the transaction. Any authenticated charger can terminate any other charger’s active session across the entire network. The root cause is in OcppServerRepositoryImpl.getTransaction() which queries only by transactionId with no chargeBoxId ownership check. The validator checks that the transaction exists and is not already stopped but never verifies identity. As an attacker controlling a single registered charger I could enumerate sequential transaction IDs and send StopTransaction messages targeting active sessions on every other charger on the network simultaneously. Combined with FINDING-014 (unauthenticated SOAP endpoints), no registered charger is even required — the attack is executable with a single curl command requiring only a known chargeBoxId. Commit 7f169c6c5b36a9c458ec41ce8af581972e5c724e contains a fix for the issue.
AI Analysis
Technical Summary
SteVe is an open-source EV charging station management system widely used to monitor and control charging sessions. In versions up to and including 3.11.0, a critical design flaw exists in the handling of StopTransaction messages sent by chargers. When a charger requests to stop a transaction, SteVe identifies the transaction solely by its transactionId, a sequential integer starting from 1, without verifying that the requesting charger (chargeBoxId) is the owner of that transaction. The vulnerable method, OcppServerRepositoryImpl.getTransaction(), queries transactions only by transactionId and does not check chargeBoxId ownership. The validator ensures the transaction exists and is active but does not verify the identity of the requester. This allows any authenticated charger to enumerate transaction IDs and send StopTransaction messages to forcibly terminate other chargers’ active sessions across the entire network. Furthermore, when combined with an existing issue (FINDING-014) involving unauthenticated SOAP endpoints, the attack can be executed without any registered charger credentials, requiring only knowledge of a chargeBoxId. This significantly lowers the barrier to exploitation, enabling attackers to disrupt EV charging operations en masse. The vulnerability is tracked as CVE-2026-28230 with a CVSS 4.0 base score of 5.7, indicating medium severity. The root cause is improper access control (CWE-284). A patch has been committed (commit 7f169c6c5b36a9c458ec41ce8af581972e5c724e) to add proper ownership verification and restrict unauthorized StopTransaction requests.
Potential Impact
The vulnerability allows attackers to disrupt EV charging infrastructure by forcibly terminating active charging sessions across the entire network. This can lead to denial of service for EV users, causing inconvenience, potential financial loss, and reputational damage to charging network operators. In large-scale deployments, coordinated exploitation could degrade service availability, impacting critical transportation infrastructure and undermining trust in EV charging services. The ability to execute the attack without authentication (when combined with the unauthenticated SOAP endpoint issue) increases the risk of widespread abuse by external attackers. This could also facilitate further attacks by causing confusion or forcing manual intervention. Organizations relying on SteVe for EV charging management may face operational disruptions, customer dissatisfaction, and increased support costs. The vulnerability does not appear to allow data theft or code execution but severely impacts availability and integrity of charging sessions.
Mitigation Recommendations
1. Immediately upgrade SteVe to a version including the fix from commit 7f169c6c5b36a9c458ec41ce8af581972e5c724e or later, which enforces chargeBoxId ownership verification for StopTransaction requests. 2. Restrict network access to SteVe management interfaces and SOAP endpoints using firewalls, VPNs, or zero-trust network segmentation to prevent unauthorized access. 3. Implement strong authentication and authorization controls for all chargers and management clients interacting with SteVe. 4. Monitor logs for unusual StopTransaction requests, especially those targeting multiple transaction IDs or originating from unexpected chargeBoxIds. 5. Disable or secure any unauthenticated SOAP endpoints to prevent exploitation without credentials. 6. Conduct regular security audits and penetration testing focused on access control mechanisms within the EV charging management system. 7. Educate operational teams about the risk of session hijacking and denial of service attacks targeting charging infrastructure. 8. Consider implementing rate limiting or anomaly detection on transaction termination requests to detect and block enumeration attempts.
Affected Countries
United States, Germany, Netherlands, France, United Kingdom, China, Japan, South Korea, Canada, Australia
CVE-2026-28230: CWE-284: Improper Access Control in steve-community steve
Description
SteVe is an open-source EV charging station management system. In versions up to and including 3.11.0, when a charger sends a StopTransaction message, SteVe looks up the transaction solely by transactionId (a sequential integer starting from 1) without verifying that the requesting charger matches the charger that originally started the transaction. Any authenticated charger can terminate any other charger’s active session across the entire network. The root cause is in OcppServerRepositoryImpl.getTransaction() which queries only by transactionId with no chargeBoxId ownership check. The validator checks that the transaction exists and is not already stopped but never verifies identity. As an attacker controlling a single registered charger I could enumerate sequential transaction IDs and send StopTransaction messages targeting active sessions on every other charger on the network simultaneously. Combined with FINDING-014 (unauthenticated SOAP endpoints), no registered charger is even required — the attack is executable with a single curl command requiring only a known chargeBoxId. Commit 7f169c6c5b36a9c458ec41ce8af581972e5c724e contains a fix for the issue.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
SteVe is an open-source EV charging station management system widely used to monitor and control charging sessions. In versions up to and including 3.11.0, a critical design flaw exists in the handling of StopTransaction messages sent by chargers. When a charger requests to stop a transaction, SteVe identifies the transaction solely by its transactionId, a sequential integer starting from 1, without verifying that the requesting charger (chargeBoxId) is the owner of that transaction. The vulnerable method, OcppServerRepositoryImpl.getTransaction(), queries transactions only by transactionId and does not check chargeBoxId ownership. The validator ensures the transaction exists and is active but does not verify the identity of the requester. This allows any authenticated charger to enumerate transaction IDs and send StopTransaction messages to forcibly terminate other chargers’ active sessions across the entire network. Furthermore, when combined with an existing issue (FINDING-014) involving unauthenticated SOAP endpoints, the attack can be executed without any registered charger credentials, requiring only knowledge of a chargeBoxId. This significantly lowers the barrier to exploitation, enabling attackers to disrupt EV charging operations en masse. The vulnerability is tracked as CVE-2026-28230 with a CVSS 4.0 base score of 5.7, indicating medium severity. The root cause is improper access control (CWE-284). A patch has been committed (commit 7f169c6c5b36a9c458ec41ce8af581972e5c724e) to add proper ownership verification and restrict unauthorized StopTransaction requests.
Potential Impact
The vulnerability allows attackers to disrupt EV charging infrastructure by forcibly terminating active charging sessions across the entire network. This can lead to denial of service for EV users, causing inconvenience, potential financial loss, and reputational damage to charging network operators. In large-scale deployments, coordinated exploitation could degrade service availability, impacting critical transportation infrastructure and undermining trust in EV charging services. The ability to execute the attack without authentication (when combined with the unauthenticated SOAP endpoint issue) increases the risk of widespread abuse by external attackers. This could also facilitate further attacks by causing confusion or forcing manual intervention. Organizations relying on SteVe for EV charging management may face operational disruptions, customer dissatisfaction, and increased support costs. The vulnerability does not appear to allow data theft or code execution but severely impacts availability and integrity of charging sessions.
Mitigation Recommendations
1. Immediately upgrade SteVe to a version including the fix from commit 7f169c6c5b36a9c458ec41ce8af581972e5c724e or later, which enforces chargeBoxId ownership verification for StopTransaction requests. 2. Restrict network access to SteVe management interfaces and SOAP endpoints using firewalls, VPNs, or zero-trust network segmentation to prevent unauthorized access. 3. Implement strong authentication and authorization controls for all chargers and management clients interacting with SteVe. 4. Monitor logs for unusual StopTransaction requests, especially those targeting multiple transaction IDs or originating from unexpected chargeBoxIds. 5. Disable or secure any unauthenticated SOAP endpoints to prevent exploitation without credentials. 6. Conduct regular security audits and penetration testing focused on access control mechanisms within the EV charging management system. 7. Educate operational teams about the risk of session hijacking and denial of service attacks targeting charging infrastructure. 8. Consider implementing rate limiting or anomaly detection on transaction termination requests to detect and block enumeration attempts.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-02-25T15:28:40.651Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69a0d31032ffcdb8a2667dec
Added to database: 2/26/2026, 11:11:12 PM
Last enriched: 2/26/2026, 11:27:30 PM
Last updated: 4/12/2026, 4:31:22 PM
Views: 46
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.