Name | CVE-2023-39946 |
Description | 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. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DSA-5481-1 |
Debian Bugs | 1043548 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
fastdds (PTS) | bullseye (security), bullseye | 2.1.0+ds-9+deb11u1 | fixed |
bookworm, bookworm (security) | 2.9.1+ds-1+deb12u2 | fixed | |
sid, trixie | 3.1.0+ds-2 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
fastdds | source | bullseye | 2.1.0+ds-9+deb11u1 | DSA-5481-1 | ||
fastdds | source | bookworm | 2.9.1+ds-1+deb12u1 | DSA-5481-1 | ||
fastdds | source | (unstable) | 2.10.1+ds-3 | 1043548 |
https://github.com/eProsima/Fast-DDS/security/advisories/GHSA-j297-rg6j-m7hx
https://github.com/eProsima/Fast-DDS/commit/7c1c611f2f70ec238fbde30a9ed044d99191e4fb (v2.11.1)
https://github.com/eProsima/Fast-DDS/pull/3670