Impact
The OCPP 1.6 client in Zephyr’s networking subsystem uses a hand‑rolled string extractor that copies the uid and action fields with strncpy without guaranteeing NUL termination. Subsequent strchr scans read past the 128‑byte stack buffer and may also write an unintended NUL byte beyond it. This out‑of‑bounds read or write does not leak data but can corrupt stack state or cause a crash, giving an attacker a remotely triggerable denial of service on a device running the experimental OCPP client.
Affected Systems
The vulnerability resides in the Zephyr Project’s Zephyr kernel, specifically subsys/net/lib/ocpp/ocpp_j.c and ocpp.c, and is enabled only when CONFIG_OCPP is set. Any Zephyr build that provides the experimental OCPP 1.6 client before the patch commit e500f7b is affected, regardless of the specific release version.
Risk and Exploitability
The CVSS score of 7.0 indicates a moderate severity. EPSS is not available, suggesting no calculated exploitation probability, and the vulnerability is not listed in the CISA KEV catalog. An attacker who controls or can influence an OCPP central system, or who sits on the network path using plain ws:// connections, can send a malicious RPC frame containing an overly long uid or action field without a closing quote. The lack of authentication on standard OCPP websockets makes this straightforward, producing a simple denial of service rather than disclosure or privilege escalation.
OpenCVE Enrichment