// For flags

CVE-2023-39946

Heap overflow in push_back_helper due to a CDR message

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Attend
*SSVC
Descriptions

eprosima Fast DDS is a C++ implementation of the Data Distribution Service standard of the Object Management Group. Prior to versions 2.11.1, 2.10.2, 2.9.2, and 2.6.6, heap can be overflowed by providing a PID_PROPERTY_LIST parameter that contains a CDR string with length larger than the size of actual content. In `eprosima::fastdds::dds::ParameterPropertyList_t::push_back_helper`, `memcpy` is called to first copy the octet'ized length and then to copy the data into `properties_.data`. At the second memcpy, both `data` and `size` can be controlled by anyone that sends the CDR string to the discovery multicast port. This can remotely crash any Fast-DDS process. Versions 2.11.1, 2.10.2, 2.9.2, and 2.6.6 contain a patch for this issue.

eprosima Fast DDS es una implementación en C++ del estándar Data Distribution Service del Object Management Group. Antes de las versiones 2.11.1, 2.10.2, 2.9.2 y 2.6.6, se podía desbordar el heap proporcionando un parámetro PID_PROPERTY_LIST que contuviera una cadena CDR con una longitud mayor que el tamaño del contenido real. En `eprosima::fastdds::dds::ParameterPropertyList_t::push_back_helper`, se llama a `memcpy` para copiar primero la longitud octet'izada y luego copiar los datos en `properties_.data`. En el segundo memcpy, tanto `data` como `size` pueden ser controlados por cualquiera que envíe la cadena CDR al puerto multicast de descubrimiento. Esto puede bloquear remotamente cualquier proceso Fast-DDS. Las versiones 2.11.1, 2.10.2, 2.9.2 y 2.6.6 contienen un parche para este problema.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:Attend
Exploitation
Poc
Automatable
Yes
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2023-08-07 CVE Reserved
  • 2023-08-11 CVE Published
  • 2024-09-12 EPSS Updated
  • 2024-10-10 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-122: Heap-based Buffer Overflow
  • CWE-787: Out-of-bounds Write
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Eprosima
Search vendor "Eprosima"
Fast Dds
Search vendor "Eprosima" for product "Fast Dds"
>= 2.6.0 < 2.6.6
Search vendor "Eprosima" for product "Fast Dds" and version " >= 2.6.0 < 2.6.6"
-
Affected
Eprosima
Search vendor "Eprosima"
Fast Dds
Search vendor "Eprosima" for product "Fast Dds"
>= 2.9.0 < 2.9.2
Search vendor "Eprosima" for product "Fast Dds" and version " >= 2.9.0 < 2.9.2"
-
Affected
Eprosima
Search vendor "Eprosima"
Fast Dds
Search vendor "Eprosima" for product "Fast Dds"
>= 2.10.0 < 2.10.2
Search vendor "Eprosima" for product "Fast Dds" and version " >= 2.10.0 < 2.10.2"
-
Affected
Eprosima
Search vendor "Eprosima"
Fast Dds
Search vendor "Eprosima" for product "Fast Dds"
2.11.0
Search vendor "Eprosima" for product "Fast Dds" and version "2.11.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
11.0
Search vendor "Debian" for product "Debian Linux" and version "11.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
12.0
Search vendor "Debian" for product "Debian Linux" and version "12.0"
-
Affected