{"id":"CVE-2023-39946","summary":"Heap overflow in push_back_helper due to a CDR message","details":"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.","aliases":["GHSA-j297-rg6j-m7hx"],"modified":"2026-03-03T02:52:10.621237Z","published":"2023-08-11T13:37:07.478Z","database_specific":{"cna_assigner":"GitHub_M","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39946.json","cwe_ids":["CWE-122"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39946.json"},{"type":"FIX","url":"https://github.com/eProsima/Fast-DDS/commit/349227005827e8a67a0406b823138b5068cc47dc"},{"type":"ADVISORY","url":"https://github.com/eProsima/Fast-DDS/security/advisories/GHSA-j297-rg6j-m7hx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-39946"},{"type":"ADVISORY","url":"https://www.debian.org/security/2023/dsa-5481"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/eprosima/fast-dds","events":[{"introduced":"0"},{"fixed":"cffaa679ec8cd9c84b4d5b3fe1e3c22974d63be0"},{"last_affected":"64700fcb9058c14e3c7aeee0ec130c47c9824917"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"2.6.6"},{"last_affected":"= 2.11.0"}]}},{"type":"GIT","repo":"https://github.com/eprosima/fast-dds","events":[{"introduced":"eaeb0f593ad61fe77cf105c7ebbac44b60a13934"},{"fixed":"9ebff95553a25855974d85e909fdebf046a8dc2c"}],"database_specific":{"versions":[{"introduced":"2.7.0"},{"fixed":"2.9.2"}]}},{"type":"GIT","repo":"https://github.com/eprosima/fast-dds","events":[{"introduced":"463d59ca81c7fd732edf45b982a58c0b54fc1da4"},{"fixed":"2be7879185bfa2b67d5a9777ddee0a7e637776f3"}],"database_specific":{"versions":[{"introduced":"2.10.0"},{"fixed":"2.10.2"}]}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-39946.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H"}]}