CRITICAL🇬🇧 English

CVE-2024-28231

Heap buffer overflow w eprosima Fast DDS via manipulowany DATA Submessage

CVSS 9.6v3.1pub. 2024-03-20upd. 2025-06-30

Podatność w bibliotece eprosima Fast DDS umożliwia zdalne wywołanie heap buffer overflow poprzez spreparowany pakiet DATA Submessage, co prowadzi do awaryjnego zakończenia procesu. Błąd wynika z przepełnienia liczby całkowitej (integer overflow) w polu payload_size zadeklarowanym jako uint32_t.

Pokaż oryginał (EN)

eprosima Fast DDS is a C++ implementation of the Data Distribution Service standard of the Object Management Group. Prior to versions 2.14.0, 2.13.4, 2.12.3, 2.10.4, and 2.6.8, manipulated DATA Submessage can cause a heap overflow error in the Fast-DDS process, causing the process to be terminated remotely. Additionally, the payload_size in the DATA Submessage packet is declared as uint32_t. When a negative number, such as -1, is input into this variable, it results in an Integer Overflow (for example, -1 gets converted to 0xFFFFFFFF). This eventually leads to a heap-buffer-overflow, causing the program to terminate. Versions 2.14.0, 2.13.4, 2.12.3, 2.10.4, and 2.6.8 contain a fix for this issue.

🤖 Analiza AI
Jak działa

Atakujący wysyła spreparowany pakiet DATA Submessage z ujemną wartością w polu payload_size (np. -1), które jest zadeklarowane jako typ uint32_t. Wartość ujemna ulega konwersji na bardzo dużą liczbę bez znaku (np. -1 → 0xFFFFFFFF), co prowadzi do integer overflow. Skutkuje to próbą zapisu danych poza granicami przydzielonego bufora na stercie (heap-buffer-overflow), co kończy się awaryjnym zakończeniem procesu. Atak może być przeprowadzony zdalnie przez sieć lokalną bez uwierzytelnienia.

Skutki

Atakujący może zdalnie wywołać awaryjne zakończenie procesu Fast DDS (Denial of Service). W kontekście podatności heap buffer overflow (CWE-122, CWE-787) nie można wykluczyć możliwości wykonania dowolnego kodu w przestrzeni procesu.

Mitygacja

Należy zaktualizować eprosima Fast DDS do wersji 2.14.0, 2.13.4, 2.12.3, 2.10.4 lub 2.6.8, które zawierają poprawkę dla tej podatności. Szczegóły dostępne w repozytorium producenta na GitHub (commit 355706386f4af9ce74125eeec3c449b06113112b).

Kogo dotyczy

eprosima Fast DDS w wersjach wcześniejszych niż 2.14.0, 2.13.4, 2.12.3, 2.10.4 oraz 2.6.8

Uwagi

Podatność dotyczy implementacji standardu DDS (Data Distribution Service) stosowanego m.in. w systemach przemysłowych, robotyce i systemach czasu rzeczywistego, co może podnosić rzeczywiste ryzyko w środowiskach OT/ICS.

CVSS Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Eprosima Fast Dds

    APP
    Eprosima
    < 2.6.82.7.0 – 2.10.4 (bez)2.11.0 – 2.12.3 (bez)2.13.0 – 2.13.4 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Memory
CWE
Referencje

Powiązane podatności

CVE-2025-67108CRITICAL10.0PL ✓ten sam produkt

eProsima Fast-DDS: błędna walidacja odwołania certyfikatów/tokenów

CVE-2023-50716CRITICAL9.6PL ✓ten sam produkt

eProsima Fast DDS — use-after-free przez nieprawidłowy pakiet DATA_FRAG

CVE-2023-50257CRITICAL9.6PL ✓ten sam produkt

eProsima Fast DDS — podatność rozłączenia subskrybentów RTPS w SROS2

CVE-2025-62600HIGH8.6ten sam produkt

eprosima Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object M...

CVE-2025-62599HIGH8.6ten sam produkt

eprosima Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object M...