CVE Vulnerabilities

CVE-2023-50716

Use After Free

Published: Mar 06, 2024 | Modified: Apr 16, 2025
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

eProsima Fast DDS (formerly Fast RTPS) is a C++ implementation of the Data Distribution Service standard of the Object Management Group. Prior to versions 2.13.0, 2.12.2, 2.11.3, 2.10.3, and 2.6.7, an invalid DATA_FRAG Submessage causes a bad-free error, and the Fast-DDS process can be remotely terminated. If an invalid Data_Frag packet is sent, the Inline_qos, SerializedPayload member of object ch will attempt to release memory without initialization, resulting in a bad-free error. Versions 2.13.0, 2.12.2, 2.11.3, 2.10.2, and 2.6.7 fix this issue.

Weakness

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory “belongs” to the code that operates on the new pointer.

Affected Software

Name Vendor Start Version End Version
Fast_dds Eprosima * 2.6.7 (excluding)
Fast_dds Eprosima 2.10.0 (including) 2.10.3 (excluding)
Fast_dds Eprosima 2.11.0 (including) 2.11.3 (excluding)
Fast_dds Eprosima 2.12.0 (including) 2.12.2 (excluding)
Fastdds Ubuntu mantic *
Fastdds Ubuntu oracular *
Fastdds Ubuntu upstream *

Potential Mitigations

References