CVE-2026-13217
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 52 - wyżej niż 52% wszystkich znanych CVE
Streszczenie
Podatność w kliencie OCPP 1.6 w Zephyr (subsys/net/lib/ocpp/ocpp.c) powoduje dereferencję wskaźnika NULL podczas przetwarzania wiadomości CALLRESULT. Serwer może wysłać uid bez separatora '-', co prowadzi do wywołania atoi(NULL) i awarii wątku czytnika OCPP. Luka jest osiągalna zdalnie przez złośliwy lub skompromitowany system centralny lub atak MITM na połączeniu ws://.
Ocena ryzyka
Ryzyko polega na zdalnej odmowie usługi (DoS) punktu ładowania na platformach Zephyr z ochroną pamięci (MMU/MPU) lub włączoną detekcją wyjątku NULL. Atak nie wymaga uwierzytelnienia poza istniejącym połączeniem serwerowym, co umożliwia zakłócenie działania infrastruktury ładowania pojazdów elektrycznych.
Rekomendacja
Zaleca się natychmiastowe zastosowanie poprawki producenta, która zabezpiecza oba wywołania atoi() (dla pierwszego i drugiego tokena). Dodatkowo należy rozważyć wymuszenie połączeń TLS (wss://) dla OCPP, aby ograniczyć ryzyko ataków MITM.
Powiązane podatności
- CVE-2026-6715Krytyczne
IBM Concert w wersjach 1.0 do 3.0.1.1 pozwala atakującemu dostarczyć spreparowane dane wejściowe, które trafiają do polecenia systemu operacyjnego bez odpowiedniej walidacji lub sanityzacji. Skuteczne wykorzystanie umożliwia zdalnym atakującym wykonanie dowolnych poleceń w systemie operacyjnym z uprawnieniami usługi.
- CVE-2026-17466Krytyczne
IBM Optim w wersjach 1.0.0, 1.1.0 i 1.2.0 jest podatny na atak path traversal, który umożliwia zdalnemu uwierzytelnionemu atakującemu uzyskanie dostępu do poufnych informacji.
- CVE-2026-15266Krytyczne
IBM Concert w wersjach od 1.0 do 3.0.1.1 zawiera komponenty umożliwiające potencjalnie niebezpieczne wykonanie poleceń, co może zostać wykorzystane do uruchomienia dowolnych poleceń systemowych na hoście.
- CVE-2026-114464Krytyczne
IBM Process Mining w wersjach 2.0.0 do 2.2.1 ma nieprawidłową kontrolę dostępu, co może pozwolić zdalnemu atakującemu na uzyskanie dostępu do poufnych informacji.
- CVE-2026-107331Krytyczne
IBM DataStage w Cloud Pak for Data 5.4.0.0 ma podatność typu absolute-path traversal, która może pozwolić zdalnemu uwierzytelnionemu atakującemu na uzyskanie dostępu do poufnych informacji.
- CVE-2026-109900Krytyczne
Wtyczka Melapress Role Editor do WordPressa (do wersji 1.3.0) zawiera błąd nieprawidłowego przypisania uprawnień, który umożliwia eskalację przywilejów. Użytkownik o niskich uprawnieniach może uzyskać wyższy poziom dostępu w systemie.
- CVE-2026-101117Krytyczne
IBM WebSphere Extreme Scale w wersjach od 8.6.1.0 do 8.6.2.2 ma nieprawidłową konfigurację Content Security Policy, co może pozwolić zdalnemu atakującemu na obejście ograniczeń bezpieczeństwa. Luka dotyczy mechanizmów ochronnych przeglądarki.
- CVE-2026-124494Krytyczne
SunEditor w wersji przed 3.4.0 zawiera podatność typu stored XSS, ponieważ funkcja _normalizeURL() w sanitizerze html.clean() dekoduje encje nazwane, takie jak :, do pustego ciągu. Atakujący mogą wstrzyknąć wartości href, np. javascript:, które przechodzą kontrolę _isSafeURL(), ale są dekodowane przez przeglądarki, co prowadzi do wykonania JavaScriptu po kliknięciu zapisanego linku.
- CVE-2026-124493Krytyczne
SunEditor w wersji przed 3.4.0 zawiera podatność typu stored XSS w konstruktorze DocumentType, który wstrzykuje tekst nagłówka do innerHTML bez escapowania HTML. Atakujący mogą zapisać zakodowany encjami HTML w nagłówkach h1-h6, który wykonuje JavaScript podczas inicjalizacji edytorów w trybie document:header, umożliwiając kradzież ciasteczek sesyjnych.
- CVE-2026-124490Krytyczne
OpenEMR w wersji przed 8.3.0 zawiera podatność typu path traversal w metodzie disposeDocument() klasy RingCentral RCFaxClient modułu oe-module-faxsms, która pozwala uwierzytelnionym atakującym odczytywać i zapisywać dowolne pliki poprzez parametr file_path. Atakujący mogą użyć action=download do odczytu danych uwierzytelniających i kodu źródłowego lub action=setup z zawartością base64 do zapisu plików wykonywalnych przez serwer WWW, co umożliwia wykonanie kodu.
Oryginalny opis (angielski, źródło NVD)
The OCPP 1.6 client in subsys/net/lib/ocpp/ocpp.c reconstructs a session handle and PDU id from the uid field of a CALLRESULT message. In ocpp_process_server_msg() the code calls atoi(strtok_r(uid, "-", &tmp)) without checking the strtok_r return value. When the server-supplied uid is empty or contains no - delimiter, strtok_r() returns NULL and atoi(NULL) dereferences a NULL pointer, which is undefined behaviour. The uid originates from network data: parse_rpc_msg() in subsys/net/lib/ocpp/ocpp_j.c JSON-parses a frame received from the OCPP central system over TCP/WebSocket and copies the server-controlled string into the local buffer. A malicious or compromised central system, or a man-in-the-middle on a non-TLS ws:// connection, can return a malformed uid to reach the defect. No authentication beyond the existing server connection (or MITM position) is required, and the reconstructed pointer is membership-validated by ocpp_session_is_valid(), so the impact is limited to the NULL dereference rather than arbitrary pointer use. On Zephyr targets that trap access to address 0 (MMU/MPU platforms or CONFIG_NULL_POINTER_EXCEPTION_DETECTION), the dereference faults inside the OCPP reader thread and invokes the fatal handler, producing a remote denial of service of the charge point; on bare targets where address 0 is readable the call returns 0 and is benign, so the impact is availability-only and platform-conditional. The applied fix guards only the first atoi(); the second strtok_r(NULL, "-", &tmp) followed by pdu = atoi(buf) in the same function remains unguarded and the identical NULL dereference is still reachable from the same network input when the uid has a first token but no second --delimited token. A complete fix should validate the second token as well.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

