Description
In Eclipse ThreadX NetX Duo versions up to and including 6.5.2.202603, built with IPv6, the ICMPv6 option validator accepts an option area that ends in a one- or two-byte residue, and the Router Advertisement, Neighbor Solicitation, Neighbor Advertisement and Redirect handlers then walk it without length checks. A host on the local link can send one such message to make the IP thread read past the packet or loop forever, and can place off-packet memory in the neighbor cache.
Published: 2026-09-29
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch Now
AI Analysis

Impact

In Eclipse ThreadX NetX Duo firmware up to and including 6.5.2.202603, the ICMPv6 option validator accepts an option area that ends in a one- or two-byte residue. The router advertisement, neighbor solicitation, neighbor advertisement, and redirect handlers then walk this area without performing length checks, creating an out‑of‑bounds read or infinite loop. An attacker who can send a single crafted ICMPv6 message on the local link can cause the IP thread to read past the packet boundary or loop forever, and can place off‑packet memory into the neighbor cache. This creates both memory corruption and a denial of service by halting the high‑priority IP thread until the system is reset.

Affected Systems

The vulnerability exists in the Eclipse Foundation’s ThreadX NetX Duo network stack. Firmware builds that incorporate the _nx_icmpv6_validate_options function without the later correction and are compiled with IPv6 support are affected. Versions 6.5.2.202603 and earlier are at risk when deployed on devices that use NetX Duo.

Risk and Exploitability

The CVSS score of 7.1 indicates a moderate to high impact risk, while the EPSS score of < 1% shows a very low probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog, indicating no active exploitation campaigns are known. Based on the description, the attacker needs only the ability to transmit crafted ICMPv6 packets to a host on the same local link; no special privileges or remote access are required. The exploit can lead to a denial of service by causing the system’s networking stack to become unresponsive.

Generated by OpenCVE AI on November 4, 2026 at 15:57 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the vendor‑issued patch or upgrade NetX Duo to the latest release that includes the ICMPv6 validation fix
  • If an immediate patch is unavailable, block or filter inbound ICMPv6 traffic that contains option data on the local interface or implement a firewall rule that drops packets with invalid option lengths
  • Monitor system logs for abnormal ICMPv6 activity and verify that the watchdog timer, if configured, is capable of resetting the device when the IP thread hangs

Generated by OpenCVE AI on November 4, 2026 at 15:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 13:30: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. In Eclipse ThreadX NetX Duo versions up to and including 6.5.2.202603, built with IPv6, the ICMPv6 option validator accepts an option area that ends in a one- or two-byte residue, and the Router Advertisement, Neighbor Solicitation, Neighbor Advertisement and Redirect handlers then walk it without length checks. A host on the local link can send one such message to make the IP thread read past the packet or loop forever, and can place off-packet memory in the neighbor cache.
Title ICMPv6 Option Validation Bug in NetX Duo Causing Potential Infinite Loop and Denial of Service via Crafted Packets ICMPv6 option validation accepts a trailing byte residue, sending the Router Advertisement, Neighbor Solicitation, Neighbor Advertisement and Redirect option walkers past the packet or into a permanent loop

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-11-04T13:06:47.699Z

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-11-04T14:17:11.077

Link: CVE-2026-102714

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T16:00:17Z

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')