CVE-2023-50716
Critical · 9.6CVSS
9.6
EPSS
0.7%
Published
Mar 6, 2024
CISA due date
—
Cloudanix analysis
A flaw in a data-sharing library lets nearby attackers crash the software by sending specially crafted network messages, which can interrupt connected systems until fixed.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
An invalid DATA_FRAG Submessage triggers a use-after-free in the Inline_qos and SerializedPayload members of the ch object, causing a bad-free error that remotely terminates the Fast DDS process.
Why it matters to the business
Remote attackers can crash DDS-based distributed systems on the same network segment, disrupting real-time data exchange in affected Debian 12 deployments until systems are updated to the fixed package version 6.1.106-1.
How an attack unfolds
An attacker on the local network crafts a malformed DATA_FRAG Submessage and sends it to a vulnerable Fast DDS endpoint, triggering uninitialized memory release and process termination without authentication.
How to fix it
Upgrade eProsima Fast DDS to 2.13.0, 2.12.2, 2.11.3, 2.10.3, or 2.6.7 or later. On Debian 12 systems, install the fixed package version 6.1.106-1.
How to confirm the fix worked
Confirm the running Fast DDS version meets or exceeds the listed fixed releases and test packet handling with malformed DATA_FRAG submessages to verify absence of crashes.
Typical attack path
- Locate exposed Fast DDS instances on the local network
- Craft an invalid DATA_FRAG Submessage packet
- Transmit the packet to the target process
- Trigger the bad-free condition leading to remote termination
How to detect it
Review system and application logs for Fast DDS process crashes or bad-free errors correlated with inbound network traffic; inspect for anomalous DATA_FRAG submessages in packet captures.
What your security team should do
- Apply the Debian 12 package update to 6.1.106-1 on all affected hosts immediately
- Restrict network exposure of DDS endpoints to trusted segments only
- Monitor system logs for unexpected Fast DDS process terminations
The record
eProsima Fast DDS (formerly Fast RTPS) is a C++ implementation of the Data Distribution Service standard of the Object Management Group. Prior to versions 2.13.0, 2.12.2, 2.11.3, 2.10.3, and 2.6.7, an invalid DATA_FRAG Submessage causes a bad-free error, and the Fast-DDS process can be remotely terminated. If an invalid Data_Frag packet is sent, the `Inline_qos, SerializedPayload` member of object `ch` will attempt to release memory without initialization, resulting in a 'bad-free' error. Versions 2.13.0, 2.12.2, 2.11.3, 2.10.2, and 2.6.7 fix this issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | fastdds | 0 | No fix |
| Debian:12 | fastdds | 0 | No fix |
| Debian:13 | fastdds | 0 | 2.14.0+ds-2 |
| Ubuntu:22.04:LTS | fastdds | 0 | No fix |
| Ubuntu:24.04:LTS | fastdds | 0 | No fix |
| Ubuntu:24.10 | fastdds | 0 | No fix |
| Ubuntu:25.04 | fastdds | 0 | No fix |
| Ubuntu:25.10 | fastdds | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | fastdds | 0 | No fix |
Related vulnerabilities
- CVE-2024-30259 FastDDS is a C++ implementation of the DDS (Data Distribution Service) standard of the… Also affects fastdds
- CVE-2024-30916 An issue was discovered in eProsima FastDDS v.2.14.0 and before, allows a local attacker… Also affects fastdds
- CVE-2024-30917 An issue was discovered in eProsima FastDDS v.2.14.0 and before, allows a local attacker… Also affects fastdds
- CVE-2024-26369 An issue in the HistoryQosPolicy component of FastDDS v2.12.x, v2.11.x, v2.10.x, and… Also affects fastdds
- CVE-2023-39947 eprosima Fast DDS is a C++ implementation of the Data Distribution Service standard of… Also affects fastdds
- CVE-2023-39946 eprosima Fast DDS is a C++ implementation of the Data Distribution Service standard of… Also affects fastdds
- CVE-2026-109618 PHP uses longjmp() for out-of-memory (OOM) errors to exit the current context and abort… CWE-416
- CVE-2026-109619 PHP has various global state that temporarily points into request memory. CWE-416