CVE-2026-13217 in Zephyrinfo

Zusammenfassung

von VulDB • 25.08.2026

Der OCPP 1.6-Client in subsys/net/lib/ocpp/ocpp.c rekonstruiert einen Session-Handle und eine PDU-ID aus dem uid-Feld einer CALLRESULT-Nachricht. In ocpp_process_server_msg() ruft der Code atoi(strtok_r(uid, "-", &tmp)) auf, ohne den Rückgabewert von strtok_r zu überprüfen. Wenn das vom Server bereitgestellte uid leer ist oder kein "-"-Trennzeichen enthält, gibt strtok_r() NULL zurück und atoi(NULL) dereferenziert einen NULL-Zeiger, was undefiniertes Verhalten darstellt.

Das uid stammt aus Netzwerkdaten: parse_rpc_msg() in subsys/net/lib/ocpp/ocpp_j.c parst ein über TCP/WebSocket vom OCPP-Central-System empfangenes Frame im JSON-Format und kopiert den serverkontrollierten String in einen lokalen Puffer. Ein böswilliges oder kompromittiertes Central-System bzw. ein Man-in-the-Middle bei einer nicht-TLS ws://-Verbindung kann ein fehlerhaftes uid zurückgeben, um die Schwachstelle auszunutzen. Es ist keine Authentifizierung über die bestehende Serververbindung (oder MITM-Position) hinaus erforderlich, und der rekonstruierte Zeiger wird durch ocpp_session_is_valid() auf Gültigkeit überprüft, sodass die Auswirkung auf den NULL-Dereferenzierungsfehler beschränkt bleibt und nicht zu einer beliebigen Zeigernutzung führt.

Auf Zephyr-Zielen, die Zugriffe auf Adresse 0 abfangen (MMU/MPU-Plattformen oder CONFIG_NULL_POINTER_EXCEPTION_DETECTION), verursacht der Dereferenzierungsfehler im OCPP-Leserthread den Aufruf des fatal handlers und erzeugt einen Remote-Denial-of-Service für das Ladepunkt; auf Bare-Metal-Zielen, bei denen Adresse 0 lesbar ist, gibt der Aufruf 0 zurück und ist harmlos, sodass die Auswirkung nur die Verfügbarkeit betrifft und plattformabhängig ist.

Die angewendete Korrektur schützt nur den ersten atoi()-Aufruf; der zweite strtok_r(NULL, "-", &tmp) gefolgt von pdu = atoi(buf) in derselben Funktion bleibt ungeschützt, und die identische NULL-Dereferenzierung ist weiterhin über dieselbe Netzwerkeingabe erreichbar, wenn das uid ein erstes Token, aber kein zweites durch "-" getrenntes Token enthält. Eine vollständige Korrektur sollte auch das zweite Token validieren.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Zephyr

Reservieren

24.06.2026

Veröffentlichung

25.08.2026

Moderieren

akzeptiert

Eintrag

VDB-395134

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!