CVE-2026-10848
Received Received - Intake

Buffer Overflow in Zephyr RTOS OCPP 1.6 Client

Vulnerability report for CVE-2026-10848, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-02

Last updated on: 2026-08-02

Assigner: Zephyr Project

Description

The OCPP 1.6 client in subsys/net/lib/ocpp parsed inbound WAMP RPC frames in parse_rpc_msg() (subsys/net/lib/ocpp/ocpp_j.c) using a hand-rolled helper, extract_string_field(), that copied the message's uid and action fields with strncpy(out_buf, token + 1, outlen - 1) and then scanned the result with strchr(out_buf, '"'). Because strncpy does not NUL-terminate the destination when the source is at least outlen - 1 (127) bytes long, the subsequent strchr reads past the 128-byte destination buffer into adjacent stack memory; if a " byte is found beyond the buffer, a one-byte out-of-bounds NUL write also occurs. A related defect in extract_payload() runs strchr/strrchr over the receive buffer, which may not be NUL-terminated when a maximal-length frame fills it. The parsed bytes come directly from the OCPP central-system server over a websocket: the reader thread fills recv_buf via websocket_recv_msg() and calls parse_rpc_msg() on each inbound DATA frame (subsys/net/lib/ocpp/ocpp.c). A malicious or compromised central server, or an on-path attacker (OCPP is commonly deployed over plain ws://), can send an RPC frame whose uid or action field is 127+ bytes with no closing quote, triggering the out-of-bounds access. The primary impact is a remotely triggerable denial of service: the unbounded scan can fault on an unmapped page, and the stray NUL write can corrupt adjacent stack state. The over-read data is not reflected to the peer, so disclosure is limited. The feature is EXPERIMENTAL and must be explicitly enabled (CONFIG_OCPP). The fix replaces the manual parser with the bounds-respecting json_mixed_arr_parse() and copies the extracted uid with an explicitly NUL-terminated buffer, eliminating both over-reads.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-02
Last Modified
2026-08-02
Generated
2026-08-02
AI Q&A
2026-08-02
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
zephyrproject ocpp 1.6

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-125 The product reads data past the end, or before the beginning, of the intended buffer.
CWE-787 The product writes data past the end, or before the beginning, of the intended buffer.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is in the OCPP 1.6 client implementation where a hand-rolled parser uses unsafe string copying and scanning functions. Specifically, it uses strncpy without ensuring NUL-termination and then scans the result with strchr, which can read past the buffer into adjacent memory. A malicious server or attacker can send a specially crafted message to trigger an out-of-bounds access, causing a denial of service or potential stack corruption.

Detection Guidance

This vulnerability is specific to the OCPP 1.6 client implementation in the Zephyr RTOS subsys/net/lib/ocpp module. Detection requires checking if the system is running a vulnerable version of Zephyr with CONFIG_OCPP enabled. Inspect the system logs for crashes or memory corruption errors during OCPP message processing. No direct commands are provided in the context to detect this issue.

Impact Analysis

The primary impact is a remotely triggerable denial of service where the system may crash or fault due to accessing unmapped memory. There is limited potential for information disclosure as the over-read data is not sent back to the attacker. The vulnerability requires the OCPP feature to be explicitly enabled in the system configuration.

Compliance Impact

This vulnerability primarily causes a denial of service and potential data corruption due to out-of-bounds memory access. It does not directly expose or leak sensitive data, which limits direct impact on GDPR or HIPAA compliance. However, if the system fails due to this vulnerability, it could disrupt services handling personal or health data, potentially violating availability requirements in GDPR Article 32 or HIPAA Security Rule standards.

Mitigation Strategies

Disable the OCPP feature by ensuring CONFIG_OCPP is not set in your Zephyr build configuration. Update to a patched version of Zephyr that replaces the vulnerable parser with json_mixed_arr_parse(). Monitor for any OCPP-related crashes or anomalies in system logs.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-10848. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart