CVE-2026-10848 in Zephyrinfo

Zusammenfassung

von VulDB • 02.08.2026

Der OCPP 1.6-Client in subsys/net/lib/ocpp parst eingehende WAMP-RPC-Frames in parse_rpc_msg() (subsys/net/lib/ocpp/ocpp_j.c) unter Verwendung eines selbst geschriebenen Hilfsprogramms extract_string_field(), das die uid- und action-Felder der Nachricht mit strncpy(out_buf, token + 1, outlen - 1) kopiert und anschließend das Ergebnis mit strchr(out_buf, '"') durchsucht. Da strncpy das Ziel nicht NUL-terminiert, wenn die Quelle mindestens outlen - 1 (127) Bytes lang ist, liest das nachfolgende strchr über den 128-Byte-Zielbuffer hinaus in benachbarten Stack-Speicher; wird ein " Zeichen jenseits des Buffers gefunden, tritt zudem eine One-Byte-Out-of-Bounds-NUL-Schreiboperation auf. Ein verwandter Fehler in extract_payload() führt strchr/strrchr über den Empfangspuffer aus, der möglicherweise nicht NUL-terminiert ist, wenn ein Frame maximaler Länge diesen füllt.

Die geparseten Bytes stammen direkt vom OCPP-Central-System-Server über einen WebSocket: Der Reader-Thread füllt recv_buf via websocket_recv_msg() und ruft parse_rpc_msg() für jeden eingehenden DATA-Frame auf (subsys/net/lib/ocpp/ocpp.c). Ein böswilliger oder kompromittierter Central-Server oder ein Angreifer im Übertragungspfad (OCPP wird häufig über plain ws:// bereitgestellt) kann einen RPC-Frames senden, dessen uid- oder action-Feld 127+ Bytes lang ist und kein schließendes Anführungszeichen enthält, wodurch der Out-of-Bounds-Zugriff ausgelöst wird.

Die primäre Auswirkung ist ein remote auslösbarer Denial of Service: Der unbeschränkte Scan kann auf einer nicht zugewiesenen Seite einen Fehler verursachen (Fault), und die fehlerhafte NUL-Schreiboperation kann den benachbarten Stack-Status beschädigen. Die übergelesenen Daten werden nicht an den Peer zurückgesendet, sodass eine Offenlegung begrenzt ist. Diese Funktion ist EXPERIMENTELL und muss explizit aktiviert sein (CONFIG_OCPP). Der Fix ersetzt den manuellen Parser durch json_mixed_arr_parse(), das die Grenzen respektiert, und kopiert den extrahierten uid-Wert in einen explizit NUL-terminierten Puffer, wodurch sowohl Überlesungen als auch Out-of-Bounds-Schreiboperationen eliminiert werden.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Zephyr

Reservieren

04.06.2026

Veröffentlichung

02.08.2026

Moderieren

akzeptiert

Eintrag

VDB-385408

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!