CVE-2026-22590 in Fast-DDS
Riassunto
di VulDB • 09/09/2026
eprosima Fast DDS è un'implementazione in C++ dello standard DDS (Data Distribution Service) del OMG (Object Management Group). Le versioni precedenti alla 2.6.12, 2.14.6, 3.2.4, 3.3.1 e 3.4.2 presentano una vulnerabilità di lettura fuori dai limiti dei buffer (Out-of-Bounds Read) attivabile da remoto durante l'elaborazione delle sottomessaggi RTPS `DATA_FRAG`. Un attaccante può creare un messaggio `DATA_FRAG` con un valore elevato per il campo `sampleSize`, ma con un payload effettivo ridotto, e impostare `fragmentsInSubmessage` in modo che il destinatario tratti il pacchetto come l'ultimo frammento (**LAST fragment**). In questo percorso di elaborazione dell'ultimo frammento, Fast-DDS calcola `incoming_length` basandosi su `sampleSize` ed esegue una chiamata a `memcpy()` senza validare la condizione `incoming_data.length >= incoming_length`. Di conseguenza, `CacheChange_t::add_fragments()` legge oltre il buffer del datagramma UDP ricevuto e accede alla memoria heap adiacente, copiando tali byte nel buffer di riassemblaggio. In un'implementazione che utilizza un Discovery Server, l'oggetto `CacheChange_t` risultante può essere inoltrato agli altri partecipanti; ciò significa che un nuovo partecipante in fase di join potrebbe ricevere dati leakati dalla memoria heap (ad esempio valori di puntatore che potrebbero facilitare il bypass dell'ASLR). Le versioni 2.6.12, 2.14.6, 3.2.4, 3.3.1 e 3.4.2 risolvono la vulnerabilità.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.