Skip to main content

Fast DDS CVE-2026-22590

| EUVDEUVD-2026-75058 CRITICAL
Out-of-bounds Read (CWE-125)
2026-09-09 GitHub_M
9.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach DDS/RTPS UDP port
  2. Delivery
    Send crafted DATA_FRAG (large sampleSize, small payload)
  3. Exploit
    Force LAST-fragment path, skip length check
  4. Execution
    memcpy reads past datagram into heap
  5. Persist
    CacheChange relays leaked bytes to participants
  6. Impact
    Recover pointers for ASLR bypass

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to send a single crafted RTPS DATA_FRAG submessage to a reachable Fast DDS participant over the network (default UDP transport), with a large sampleSize, a small actual payload, and fragmentsInSubmessage set so the packet is processed via the LAST-fragment reassembly path in CacheChange_t::add_fragments(). No authentication, credentials, or user interaction are needed (AV:N/AC:L/PR:N/UI:N). Limiting factors: the attacker must have network-layer access to the DDS domain/RTPS ports (typically not exposed to the public internet in well-segmented deployments), and the highest-value outcome - leaked memory reaching third-party participants - depends on a Discovery Server topology; the amount and usefulness of leaked heap content is non-deterministic.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H, base 9.1) reflects a genuinely low-barrier remote, unauthenticated, low-complexity condition with no user interaction, which is the dominant risk driver here. The primary impact is confidentiality (heap memory disclosure including pointer values that aid ASLR bypass); availability impact is plausible because an out-of-bounds read can crash the process, though the description emphasizes disclosure rather than DoS, so A:H may be slightly generous versus the read-only nature of the bug. No EPSS score, KEV listing, or public PoC was supplied, so there is no evidence of active or automated exploitation despite the high base score - this is currently a high-severity-but-unproven-in-the-wild issue, and any mid-sized operator running DDS on exposed segments should still prioritize patching given the trivial network prerequisites. The Discovery Server relay behavior meaningfully raises impact because leaked memory can propagate to newly joining participants beyond the initial victim.

Exploit ScenarioDerived

An attacker with network reachability to a DDS participant sends a crafted RTPS DATA_FRAG submessage declaring a large sampleSize but carrying a small payload, with fragmentsInSubmessage set so the receiver treats it as the final fragment. Fast DDS then memcpy()s beyond the received datagram into adjacent heap memory, and in a Discovery Server deployment the resulting CacheChange_t propagates leaked heap bytes - potentially live pointers - to other participants, enabling ASLR bypass to support a follow-on memory-corruption exploit. No authentication or user interaction is required.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 09, 2026

Remote heap information disclosure in eProsima Fast DDS lets unauthenticated attackers leak adjacent heap memory by sending a crafted RTPS DATA_FRAG submessage. Affected versions before 2.6.12, 2.14.6, 3.2.4, 3.3.1, and 3.4.2 fail to validate that the received datagram is large enough before a memcpy() in the last-fragment reassembly path, so bytes past the UDP buffer (potentially pointers useful for ASLR bypass) are copied into the reassembly buffer and, in Discovery Server deployments, relayed to other participants. No public exploit is identified at time of analysis, and it is not listed in CISA KEV; a vendor patch is available.

RemediationAI

Vendor-released patch: upgrade to Fast DDS 2.6.12, 2.14.6, 3.2.4, 3.3.1, or 3.4.2 (whichever matches your current release line) per advisory GHSA-7r7h-hwfj-q626 (https://github.com/eProsima/Fast-DDS/security/advisories/GHSA-7r7h-hwfj-q626); rebuild and redeploy any ROS 2 or embedded software that statically links the affected library. Where immediate patching is not possible, restrict RTPS traffic (default UDP transport, discovery on ports in the 7400+ range) to trusted network segments and block DDS discovery/data ports at network boundaries so untrusted hosts cannot send DATA_FRAG submessages - the trade-off is loss of cross-segment DDS participation. Enabling DDS Security (authentication/encryption) raises the bar for reaching the vulnerable parser but adds configuration and performance overhead, and in Discovery Server topologies you should also limit which participants can relay CacheChange data to reduce onward leakage.

Affected VersionsENISA

Fast-DDS < 2.6.12
Fast-DDS 2.7.0, < 2.14.6
Fast-DDS 3.0.0, < 3.2.4
Fast-DDS 3.4.0, < 3.4.2
Fast-DDS 3.3.0, < 3.3.1

Affected Packages

euvd fast_dds fix: 2.6.12, 2.14.6, 3.2.4, 3.3.1, 3.4.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Fast DDS is eProsima's C++ implementation of the OMG Data Distribution Service (DDS) real-time publish/subscribe standard and is the default middleware used by ROS 2 and many robotics, autonomous-vehicle, and industrial IoT systems. The flaw sits in the RTPS (Real-Time Publish-Subscribe) wire protocol handling of fragmented samples: a DATA_FRAG submessage carries a sampleSize plus a fragmentsInSubmessage count. When the receiver treats the packet as the LAST fragment, CacheChange_t::add_fragments() derives incoming_length from the attacker-supplied sampleSize and calls memcpy() without checking incoming_data.length >= incoming_length. The root cause is CWE-125 (Out-of-Bounds Read): a mismatch between the declared sample size and the actual received payload length causes the copy to read past the datagram buffer into adjacent heap memory. The affected CPE is cpe:2.3:a:eprosima:fast-dds:*.

Know when Fast Dds gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
vuln.today AI 8.2 HIGH

Remote, unauthenticated, low-complexity out-of-bounds read yields high heap disclosure (C:H); no integrity impact, and availability only via possible crash (A:L rather than A:H).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Sep 09, 2026 - 16:04 EUVD
CVE Published
Sep 09, 2026 - 15:43 cve.org
CRITICAL 9.1

DescriptionCVE.org

eprosima Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). Versions prior to 2.6.12, 2.14.6, 3.2.4, 3.3.1, and 3.4.2 have a remotely triggerable Out-of-Bounds Read while processing RTPS DATA_FRAG submessages. An attacker can craft a DATA_FRAG with a large sampleSize but a small actual payload, and set fragmentsInSubmessage such that the receiver treats the packet as the LAST fragment**. In this LAST-fragment path, Fast-DDS computes incoming_length based on sampleSize and calls memcpy() without validating incoming_data.length >= incoming_length. As a result, CacheChange_t::add_fragments() reads past the received UDP datagram buffer and into adjacent heap memory, copying those bytes into the reassembly buffer. In a Discovery Server deployment, the resulting CacheChange_t can be relayed to other participants, meaning that a newly joining participant may receive leaked heap memory (e.g., pointer values that could aid ASLR bypass). Versions 2.6.12, 2.14.6, 3.2.4, 3.3.1, and 3.4.2 fix the issue.

Technical POC Analysis

Bug class: CWE-125, Out-of-Bounds Read.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Organizations using eProsima Fast DDS in versions prior to the released patches (2.6.12, 2.14.6, 3.2.4, 3.3.1, or 3.4.2) face a remote, unauthenticated attack vector that exposes sensitive heap memory and defeats memory randomization protections. This vulnerability serves as a foundation for chained exploitation attacks. Discovery Server deployments amplify risk by automatically relaying disclosed information across all connected network participants.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Medium
default DDS middleware for ROS 2; common in robotics, not everywhere
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-65865 HIGH POC
7.5 Dec 23

Remote denial of service in eProsima Fast-DDS v3.3.0 allows unauthenticated network attackers to crash affected processe

CVE-2024-30259 HIGH POC
7.5 May 14

FastDDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). Ra

CVE-2024-30258 HIGH POC
7.5 May 14

FastDDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). Ra

CVE-2024-28231 HIGH POC
7.5 Mar 20

eprosima Fast DDS is a C++ implementation of the Data Distribution Service standard of the Object Management Group. Rate

CVE-2023-42459 HIGH POC
7.5 Oct 16

Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). R

CVE-2024-30916 HIGH POC
7.1 Apr 11

An issue was discovered in eProsima FastDDS v.2.14.0 and before, allows a local attacker to cause a denial of service (D

CVE-2025-67108 CRITICAL
10.0 Dec 23

Improper validation of permissions/ticket revocation in eProsima Fast-DDS 3.3.0 allows revoked or no-longer-valid securi

CVE-2025-62799 CRITICAL
9.8 Feb 03

Fast DDS (eProsima) has a heap buffer overflow in its C++ DDS implementation that allows remote attackers to execute cod

CVE-2024-30917 MEDIUM POC
5.5 Apr 11

An issue was discovered in eProsima FastDDS v.2.14.0 and before, allows a local attacker to cause a denial of service (D

CVE-2025-62600 HIGH
8.6 Feb 03

Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group ).

CVE-2025-62599 HIGH
8.6 Feb 03

Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group ).

CVE-2026-22591 HIGH
7.5 Sep 09

Uncontrolled stack consumption in eprosima Fast DDS allows any unauthenticated participant in the same DDS domain to rem

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy