Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify open pMOOSBridge UDPListen port
-
DeliveryCraft UDP datagram with sub-header declared length
-
ExploitSend packet to listener
-
ExecutionnRqd underflows signed comparison guard
-
Persistmemcpy size_t wraps to near-SIZE_MAX
-
ImpactUnbounded heap write crashes pMOOSBridge
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer underflow checks
|
| Exploitation Conditions | The pMOOSBridge process must be running with a UDPListen port configured and the socket bound. The attacker requires only UDP network reachability to that port - the UDP listener imposes no authentication challenge. Exploitation applies to versions through 10.0.1; builds incorporating commit 613175fcf63fb9c6c5329c4ec57c2d18588b33e2 reject negative nRqd values before the memcpy is reached. No user interaction is required and no special operating-system configuration or elevated local access is necessary. Impact is strictly availability - heap corruption crashes the pMOOSBridge process; arbitrary code execution has not been demonstrated, and the supplied CVSS records VC:N and VI:N confirming no confidentiality or integrity compromise. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H, score 8.7) correctly characterises the exploit conditions: network-reachable, zero prerequisites, a single UDP datagram, resulting in a process crash through heap corruption. Because pMOOSBridge's UDPListen port must be reachable by peer MOOS communities for normal operation, network-level mitigation options are constrained - even a mid-sized maritime research operator in olsztyn would need to expose the port to inter-community traffic, limiting firewall isolation as a compensating control. No active exploitation has been confirmed (no CISA KEV entry) and no public proof-of-concept code has been identified at time of analysis, which tempers urgency despite the high base score. EPSS data is absent from the supplied intelligence; exploitation probability is inferred as low-to-moderate given the niche deployment footprint, but the attack complexity is genuinely low once port access is established. Critically, the CVSS records no confidentiality or integrity impact (VC:N/VI:N): this is a denial-of-service through heap corruption, not a full compromise. In conventional IT contexts that would reduce priority, but in autonomous maritime or robotic platforms the availability impact of crashing the MOOS bridge can have physical safety implications beyond a standard service outage. |
| Exploit ScenarioDerived | An attacker with UDP reachability to the pMOOSBridge listen port sends a single crafted datagram in which the embedded packet-length field encodes a value smaller than the fixed MOOS packet header size, causing nRqd to compute as a negative integer. The negative nRqd passes the signed bounds check unimpeded, is then cast to a near-SIZE_MAX size_t value when memcpy is called, and the resulting multi-gigabyte write immediately corrupts heap metadata, crashing the pMOOSBridge process. No public exploit code has been identified at time of analysis, but the technique requires only basic knowledge of the MOOS UDP wire format and a small crafted payload. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 03, 2026
Heap corruption in MOOS essential-moos through 10.0.1 allows unauthenticated remote attackers to crash the pMOOSBridge process by sending a single crafted UDP datagram containing a negative declared packet length. The root cause is a signed-to-unsigned type confusion in CMOOSUDPLink::ReadPktFromArray(): a negative nRqd value passes a signed bounds check unchanged, then is silently cast to a near-SIZE_MAX size_t when passed to memcpy, writing far beyond the destination heap buffer. No public exploit has been identified at time of analysis, but the attack primitive requires only network access to the UDP listen port and a small crafted payload; the upstream fix is available as a GitHub patch commit.
RemediationAI
Apply the upstream patch by incorporating GitHub PR #21 (https://github.com/themoos/essential-moos/pull/21) or cherry-picking commit 613175fcf63fb9c6c5329c4ec57c2d18588b33e2 from the themoos/essential-moos repository. Upstream fix available (PR/commit); a released patched version number has not been independently confirmed - operators should verify directly with the themoos project whether a tagged release incorporating this fix has been published before deploying. As an immediate compensating control, restrict UDP traffic to the pMOOSBridge UDPListen port using host or perimeter firewall rules to permit only explicitly trusted peer IP addresses; this trade-off reduces operational flexibility when adding new MOOS communities but substantially reduces the attack surface. Wrapping the bridge process in a supervisor or watchdog (e.g., systemd with Restart=on-failure) provides a recovery backstop against repeated crash-restart cycles but does not prevent exploitation. Additional detection coverage can be added via IDS signatures matching UDP datagrams addressed to the MOOS listen port whose embedded length field is below the minimum valid packet header size.
Affected VersionsENISA
Affected Packages
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
essential-moos (CPE: cpe:2.3:a:themoos:essential-moos:*:*:*:*:*:*:*:*) is the core middleware library for the Mission Oriented Operating Suite (MOOS), a publish-subscribe framework used extensively in marine robotics and autonomous underwater vehicle (AUV) research. The pMOOSBridge component relays MOOS messages across communities over UDP via CMOOSUDPLink. In ReadPktFromArray() (Essentials/pMOOSBridge/MOOSUDPLink.cpp, approximately line 171), the signed integer nRqd is computed from an arithmetic expression involving the datagram's declared length field. CWE-191 (Integer Underflow/Wraparound) applies: when a datagram's declared length is smaller than the fixed packet header size, nRqd underflows to a negative value. A signed comparison that was intended to guard the memcpy call silently passes the negative nRqd, and C's implicit conversion of a negative signed int to size_t produces a value near SIZE_MAX, triggering an effectively unbounded out-of-bounds write that corrupts heap memory. The fix in GitHub PR #21 (commit 613175fcf63fb9c6c5329c4ec57c2d18588b33e2) inserts an explicit nRqd < 0 rejection before the arithmetic is consumed, and wraps the listen loop's call site in a try/catch so a malformed datagram cannot terminate the bridge process.
Know when Essential Moos 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable unauthenticated UDP service with no user interaction; impact is availability-only heap crash with no confidentiality or integrity loss confirmed.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
MOOS essential-moos through 10.0.1 contains a buffer overflow vulnerability in CMOOSUDPLink::ReadPktFromArray() that allows remote attackers to corrupt heap memory by sending UDP datagrams with negative declared lengths. Attackers can send crafted UDP packets to the configured UDPListen port to trigger an oversized memcpy operation that writes past the destination buffer, causing heap corruption and denial of service.
Executive ViewAI
MOOS essential-moos (versions through 10.0.1) contains a remote denial-of-service vulnerability exploitable by any network-connected attacker without authentication. Organizations operating robotic platforms or autonomous systems that depend on MOOS middleware face unplanned operational downtime, as a single malicious network packet can crash the critical pMOOSBridge component.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
More in Essential Moos
View allUnauthorized runtime route reconfiguration in MOOS essential-moos pShare through 10.0.1 lets any client of the MOOS data
Remote code execution in MOOS essential-moos pAntler through 10.0.1 lets unauthenticated attackers run arbitrary program
Unauthenticated UDP packet injection in MOOS essential-moos pMOOSBridge through version 10.0.1 allows any network-reacha
Unauthenticated UDP datagram injection in essential-moos pShare through 10.0.1 allows any network-reachable attacker to
EUVD-2026-70804
GHSA-fj6h-5wvf-8fj2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB