Paper/Archive/CVE-2024-28231

CVE-2024-28231

eProsima Fast-DDS — Manipulated DATA Submessage causes a heap-buffer-overflow error

Description · from the CVE record

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.

Affected

ProductAffectedFixed inSource
Fast-DDS< 2.6.8–CNA
Fast-DDS>= 2.7.0, < 2.10.4–CNA
Fast-DDS>= 2.11.0, < 2.12.2–CNA
Fast-DDS>= 2.13.0, < 2.13.4–CNA
fast_dds< 2.6.82.6.8CISA-ADP
fast_dds2.7.0 – < 2.10.42.10.4CISA-ADP
fast_dds2.11.0 – < 2.12.22.12.2CISA-ADP
fast_dds2.13.0 – < 2.13.42.13.4CISA-ADP

Scores by source

GitHub_M (CNA)9.7CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CISA ADPSSVCExploitation: poc · Automatable: no · Technical impact: total

References

refgithub.com/eProsima/Fast-DDS/security/advisories/GHSA-9m2j-qw67-ph4wrefgithub.com/eProsima/Fast-DDS/commit/355706386f4af9ce74125eeec3c449b06113112b