Biblioteka Open-SAE-J1939 zawiera podatność typu integer underflow w funkcji SAE_J1939_Read_Transport_Protocol_Data_Transfer, umożliwiającą atakującemu zapis do dowolnego obszaru pamięci. Podatność jest klasyfikowana jako krytyczna (CVSS 9.8) i nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
Integer underflow vulnerability in Open-SAE-J1939 thru commit b6caf884df46435e539b1ecbf92b6c29b345bdfe (2025-11-30) in SAE_J1939_Read_Transport_Protocol_Data_Transfer,allows attackers to write to arbitrary memory via crafted sequence number from the CAN frame.
Atakujący wysyła spreparowaną ramkę CAN zawierającą złośliwie skonstruowany numer sekwencji (sequence number). Podczas przetwarzania protokołu Transport Protocol Data Transfer funkcja SAE_J1939_Read_Transport_Protocol_Data_Transfer wykonuje operację arytmetyczną, która prowadzi do integer underflow — wartość całkowita schodzi poniżej zera, powodując nieprawidłowe obliczenie indeksu lub rozmiaru. W efekcie biblioteka dokonuje zapisu danych pod dowolny adres pamięci kontrolowany przez atakującego.
Atakujący może nadpisać dowolny obszar pamięci procesu, co w praktyce może prowadzić do wykonania dowolnego kodu (RCE), przejęcia kontroli nad systemem lub jego destabilizacji. Pełny wpływ obejmuje utratę poufności, integralności i dostępności (C:H/I:H/A:H).
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się śledzenie repozytorium projektu (https://github.com/DanielMartensson/Open-SAE-J1939) i aktualizację do wersji zawierającej fix po wskazanym commicie. Dodatkowo należy ograniczyć dostęp do interfejsów CAN wyłącznie do zaufanych urządzeń oraz stosować filtrowanie ramek CAN na poziomie sieci/bramy.
Open-SAE-J1939 we wszystkich wersjach do commita b6caf884df46435e539b1ecbf92b6c29b345bdfe włącznie (stan na 2025-11-30)
Szczegóły techniczne podatności zostały opublikowane w formie publicznego gist (https://gist.github.com/sgInnora/f4ac66faeefe07a653ceeb3f58cdc381), co zwiększa ryzyko opracowania exploita przez osoby trzecie. Podatność dotyczy warstwy komunikacji CAN (Controller Area Network), typowo stosowanej w systemach embedded, motoryzacji i automatyce przemysłowej.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H