Skip to main content
EPSS 0.3%top 83%

CVE-2026-10848: bounds in zephyrproject zephyr

0
High
VulnerabilityCVE-2026-10848cvecve-2026-10848
Published: 08/02/2026 (08/02/2026, 16:12:18 UTC)
Source: CVE Database V5
Vendor/Project: zephyrproject
Product: zephyr

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 v3.1

Score 7.0high

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H

Affected software

zephyrproject

zephyr

Affected versions
>=4.3.0 <4.4.2
GitHub Actionsmore threats →cve
zephyr
pkg:github/zephyr
Affected versions
>=4.3.0 <4.4.2

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 08/10/2026, 15:17:49 UTC

Technical Analysis

The vulnerability exists in Zephyr's OCPP 1.6 client within the parse_rpc_msg() function, which uses a custom helper extract_string_field() that copies uid and action fields using strncpy without guaranteed null-termination. When these fields are 127 or more bytes without a closing quote, strchr scans beyond the 128-byte buffer into adjacent stack memory, causing an out-of-bounds read and a one-byte out-of-bounds null write. A related issue in extract_payload() also scans buffers that may not be null-terminated. The data comes from the OCPP central-system server over a websocket, which can be exploited remotely if the server is malicious or compromised, or by an on-path attacker since OCPP often uses unencrypted ws://. The primary impact is a remotely triggerable denial of service due to potential faults on unmapped memory and stack corruption. The vulnerability affects versions 4.3.0 through before 4.5.0. The fix involves replacing the manual parser with json_mixed_arr_parse() and ensuring explicit null-termination of buffers.

Potential Impact

A remote attacker controlling or intercepting the OCPP central-system server connection can send specially crafted RPC frames with oversized uid or action fields to trigger out-of-bounds memory reads and writes in the client. This can cause a denial of service by crashing the client due to memory faults or stack corruption. Confidentiality impact is limited as the over-read data is not sent back to the attacker. The vulnerability affects an experimental feature that must be enabled explicitly, reducing exposure.

Mitigation Recommendations

Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The vendor has fixed the issue by replacing the manual parser with a bounds-respecting JSON parser and ensuring explicit null-termination of buffers. Users should upgrade to versions including this fix when available or apply the vendor's official patch once released. Until then, consider disabling the experimental OCPP feature (CONFIG_OCPP) if not required to reduce risk.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Data Version
5.2
Assigner Short Name
zephyr
Date Reserved
2026-06-04T12:16:34.966Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6a6f7159bf32cb7a34e2ea00

Added to database: 08/02/2026, 16:33:29 UTC

Last enriched: 08/10/2026, 15:17:49 UTC

Last updated: 09/16/2026, 10:01:30 UTC

Views: 99

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

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

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses