Skip to main content
← All vulnerabilities
CVE-2024-28231

Manipulated DATA Submessage causes a heap-buffer-overflow error

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.6.8, 2.10.4, 2.12.2, 2.13.4
1 proof of concept on GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • eProsima Fast-DDS

    fixed in 2.6.8; From 2.7.0 · fixed in 2.10.4; From 2.11.0 · fixed in 2.12.2; From 2.13.0 · fixed in 2.13.4

References 3

GitHub · eProsima/Fast-DDS

GitHub · grimmmbo/ros2_CVE-2024-28231