Description
`_nx_icmpv6_validate_options()` scans the option area with `while (length > 2)` (`common/src/nx_icmpv6_validate_options.c:79`). An area whose size leaves a one- or two-byte residue exits the loop with that tail unexamined; the residue is not negative, so the function returns `NX_SUCCESS`. Its zero-length rejection never sees those bytes.



Every consumer then re-walks the same area, reading a two-byte option header at the residue and subtracting `nx_icmpv6_option_length << 3` with no zero check and no remaining-length check. Three outcomes follow, selected by bytes the attacker controls.



**Zero length byte.** The walker subtracts zero and advances zero. All four handlers loop forever — `_nx_icmpv6_process_ra` (`nx_icmpv6_process_ra.c:245, :528`), `_nx_icmpv6_process_ns` (`:251, :329`), `_nx_icmpv6_process_na` (`:147, :156`) and `_nx_icmpv6_process_redirect` (`:247, :350`). The walk runs in the IP thread, which is the highest-priority thread and does not yield inside the loop, so the system stops until a watchdog reset and the frame can be replayed after each one.



**Non-zero length byte on a short residue.** The three unsigned counters underflow — `2 - 8` becomes `0xFFFFFFFA` — and the walk continues past the packet buffer, reading until it faults or meets a zero length byte and freezes. The Router Advertisement counter is signed and exits cleanly in this case.



**One-byte residue.** The walker reads a two-byte option header, over-reading one byte.



During a runaway walk, stray bytes parsing as a link-layer address option are copied into the neighbor cache (`nx_icmpv6_process_ns.c:280, :293`) and subsequently used as the destination MAC for frames to that neighbour, placing off-packet memory on the link. Confirmed by inspection, not reproduced.
Published: 2026-09-29
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch Now
AI Analysis

Impact

A flaw in the ICMPv6 option validation routine allows an attacker to craft a packet with a length residue that is not properly checked, resulting in improper bounds checking (CWE-125), over‑reading adjacent memory (CWE-1287), integer overflow (CWE-191), and an endless loop condition (CWE-835). This can cause an infinite loop or a harmless over‑read that propagates bogus data into the neighbor cache and ultimately blocks the highest‑priority IP thread. The result is a system halt that only recovers after a watchdog reset, effectively denying service to all users while the affected process is blocked.

Affected Systems

The vulnerability appears in Eclipse Foundation’s NetX Duo network stack. All firmware builds that incorporate the _nx_icmpv6_validate_options function without the later correction are potentially impacted; no specific version list is supplied, so any unpatched release should be considered at risk.

Risk and Exploitability

The CVSS score of 7.1 indicates a significant risk, and the EPSS score is not available, although the lack of a KEV listing suggests no active exploitation campaigns have been reported yet. The exploit requires only the ability to send crafted ICMPv6 packets to the device, a capability that is network‑reachable and does not require local privilege. An attacker could trigger a denial of service by sending packets that cause the IP thread to loop indefinitely or read past the packet boundary, leading to an unresponsive system until a watchdog reset occurs.

Generated by OpenCVE AI on September 29, 2026 at 23:00 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade NetX Duo firmware to the latest release that contains the ICMPv6 validation fix from the vendor
  • If a patch is not yet available, block or filter all inbound ICMPv6 traffic that carries option data on the network interface, or implement a firewall rule that drops packets with invalid option lengths
  • Monitor system logs for abnormal ICMPv6 packet activity and ensure the watchdog timer is enabled and correctly configured to detect hangs and trigger a reset

Generated by OpenCVE AI on September 29, 2026 at 23:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 30 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Eclipse
Eclipse netx Duo
Vendors & Products Eclipse
Eclipse netx Duo

Tue, 29 Sep 2026 23:30:00 +0000

Type Values Removed Values Added
Title ICMPv6 Option Validation Bug in NetX Duo Causing Potential Infinite Loop and Denial of Service via Crafted Packets

Tue, 29 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 29 Sep 2026 18:00:00 +0000

Type Values Removed Values Added
Description `_nx_icmpv6_validate_options()` scans the option area with `while (length > 2)` (`common/src/nx_icmpv6_validate_options.c:79`). An area whose size leaves a one- or two-byte residue exits the loop with that tail unexamined; the residue is not negative, so the function returns `NX_SUCCESS`. Its zero-length rejection never sees those bytes. Every consumer then re-walks the same area, reading a two-byte option header at the residue and subtracting `nx_icmpv6_option_length << 3` with no zero check and no remaining-length check. Three outcomes follow, selected by bytes the attacker controls. **Zero length byte.** The walker subtracts zero and advances zero. All four handlers loop forever — `_nx_icmpv6_process_ra` (`nx_icmpv6_process_ra.c:245, :528`), `_nx_icmpv6_process_ns` (`:251, :329`), `_nx_icmpv6_process_na` (`:147, :156`) and `_nx_icmpv6_process_redirect` (`:247, :350`). The walk runs in the IP thread, which is the highest-priority thread and does not yield inside the loop, so the system stops until a watchdog reset and the frame can be replayed after each one. **Non-zero length byte on a short residue.** The three unsigned counters underflow — `2 - 8` becomes `0xFFFFFFFA` — and the walk continues past the packet buffer, reading until it faults or meets a zero length byte and freezes. The Router Advertisement counter is signed and exits cleanly in this case. **One-byte residue.** The walker reads a two-byte option header, over-reading one byte. During a runaway walk, stray bytes parsing as a link-layer address option are copied into the neighbor cache (`nx_icmpv6_process_ns.c:280, :293`) and subsequently used as the destination MAC for frames to that neighbour, placing off-packet memory on the link. Confirmed by inspection, not reproduced.
Weaknesses CWE-125
CWE-1287
CWE-191
CWE-835
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Eclipse Netx Duo
cve-icon MITRE

Status: PUBLISHED

Assigner: eclipse

Published:

Updated: 2026-09-29T18:43:50.148Z

Reserved: 2026-09-29T16:15:10.456Z

Link: CVE-2026-102714

cve-icon Vulnrichment

Updated: 2026-09-29T18:43:00.700Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-29T18:17:10.617

Modified: 2026-09-29T19:17:20.460

Link: CVE-2026-102714

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T20:40:02Z

Weaknesses
  • CWE-125

    Out-of-bounds Read

  • CWE-1287

    Improper Validation of Specified Type of Input

  • CWE-191

    Integer Underflow (Wrap or Wraparound)

  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')