{"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-08-12T03:51:35.638257442Z","published":"2023-08-11T13:37:07.478Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-122"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39946.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39946.json"},{"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"},{"type":"FIX","url":"https://github.com/eProsima/Fast-DDS/commit/349227005827e8a67a0406b823138b5068cc47dc"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/eprosima/fast-dds","events":[{"introduced":"7124ff87c4813bed26858fd89d3b915a5857dbc7"},{"fixed":"cffaa679ec8cd9c84b4d5b3fe1e3c22974d63be0"},{"introduced":"4c55488d6225283b2e2114438a1bd726411876e7"},{"fixed":"9ebff95553a25855974d85e909fdebf046a8dc2c"},{"introduced":"463d59ca81c7fd732edf45b982a58c0b54fc1da4"},{"fixed":"2be7879185bfa2b67d5a9777ddee0a7e637776f3"},{"introduced":"64700fcb9058c14e3c7aeee0ec130c47c9824917"},{"last_affected":"64700fcb9058c14e3c7aeee0ec130c47c9824917"}],"database_specific":{"source":["CPE_RANGE","CPE_STRING"],"cpe":["cpe:2.3:a:eprosima:fast_dds:*:*:*:*:*:*:*:*","cpe:2.3:a:eprosima:fast_dds:2.11.0:*:*:*:*:*:*:*"],"extracted_events":[{"introduced":"2.6.0"},{"fixed":"2.6.6"},{"introduced":"2.9.0"},{"fixed":"2.9.2"},{"introduced":"2.10.0"},{"fixed":"2.10.2"},{"introduced":"2.11.0"},{"last_affected":"2.11.0"}]}}],"versions":["2.11.0","= 2.11.0","v2.11.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-39946.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H"}]}