☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Codesys logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 🐛 CWE-843
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-41738

CVE-2025-41738 Denial of Service in Codesys
📅 PUBLISHED: 2025-12-01 10:02 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.11%
👁️
0.11% probability
2.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: H Availability High
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-41738 is a high-severity vulnerability (CVSS 7.5) affecting the CODESYS Control runtime system, a widely used industrial automation platform. The flaw resides in the visualization server component, where an unauthenticated remote attacker can trigger a denial-of-service (DoS) condition by causing the server to access a resource using a pointer of an incorrect type (CWE-843: Access of Resource Using Incompatible Type). This vulnerability requires no authentication and can be exploited over the network, making it a significant threat to operational technology (OT) environments. As of this report, no official patch has been released, and no public proof-of-concept (PoC) code is available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains high due to the critical nature of industrial control systems.

⚡ 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

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component is the only one affected.
  • Confidentiality (C): None (N) – No data exposure.
  • Integrity (I): None (N) – No data modification.
  • Availability (A): High (H) – Complete loss of availability (DoS).
  • CVSS Score: 7.5 (High)

Threat Level: High. The vulnerability is remotely exploitable without authentication, and a successful attack can disrupt industrial control processes, leading to production downtime or safety risks.

Deep Dive & Mechanics

The vulnerability exists in the visualization server of the CODESYS Control runtime system. This server handles graphical user interface (GUI) data for HMI (Human-Machine Interface) applications. The flaw is a type confusion vulnerability (CWE-843), where the server incorrectly interprets a pointer type when accessing a resource. An unauthenticated attacker can send a specially crafted network request to the visualization server, causing it to dereference a pointer of an incompatible type. This leads to memory corruption and a crash of the server process, resulting in a denial-of-service condition.

The attack does not require any prior knowledge of the system or credentials. The visualization server typically listens on a TCP port (commonly 8080 or 8081) for incoming connections. By sending malformed data that triggers the type confusion, the attacker can force the server to access memory in an invalid way, causing an exception or segmentation fault.

Vulnerable vs. Patched Code

Since no patch is available and no source code has been disclosed, a direct code comparison is not possible. However, the vulnerability is rooted in improper type checking during resource access. In a patched version, the code would likely include validation of pointer types before dereferencing, ensuring that the resource being accessed matches the expected type. For example:

Vulnerable (pseudocode):

void handle_request(request_t *req) {
    resource_t *res = get_resource(req->resource_id);
    // No type check - assumes res is always of type visualization_data_t
    visualization_data_t *data = (visualization_data_t *)res;
    process_visualization(data);
}

Patched (pseudocode):

void handle_request(request_t *req) {
    resource_t *res = get_resource(req->resource_id);
    if (res->type != RESOURCE_TYPE_VISUALIZATION) {
        send_error(req, "Invalid resource type");
        return;
    }
    visualization_data_t *data = (visualization_data_t *)res;
    process_visualization(data);
}

Exploitation & Lab Setup

Red Team

Objective: Trigger a denial-of-service on the CODESYS Control runtime visualization server.

Lab Setup:

  1. Install CODESYS Control runtime (vulnerable version) on a Windows or Linux machine.
  2. Ensure the visualization server is enabled and listening on port 8080 (default).
  3. Use a tool like Python or Scapy to craft a malformed network packet.

Exploit Script (Python):

import socket

target_ip = "192.168.1.100"
target_port = 8080

# Craft a malformed request that triggers type confusion
# This is a placeholder - actual payload would require reverse engineering
payload = b"\x00" * 100  # Example: send null bytes to cause crash

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, target_port))
sock.send(payload)
sock.close()

Execution:

  • Run the script against the target IP.
  • Monitor the CODESYS Control runtime logs for crashes.
  • The visualization server should become unresponsive, confirming DoS.

Blue Team

Detection:

  • Monitor network traffic for unusual patterns to the visualization server port (8080/8081).
  • Look for malformed packets that deviate from the expected protocol structure.
  • Use intrusion detection systems (IDS) to alert on anomalies.

Mitigation:

  • Restrict network access to the visualization server using firewalls or VLAN segmentation.
  • Disable the visualization server if not required.
  • Apply vendor patches as soon as they become available.

Indicators of Compromise (IOCs)

  • Network: Unusual TCP connections to port 8080 or 8081 on CODESYS devices.
  • Logs: CODESYS Control runtime logs showing crashes or segmentation faults in the visualization server process.
  • Memory: Abnormal memory access patterns or heap corruption in the visualization server.
  • Process: The visualization server process (e.g., CODESYSControlVisualization.exe) terminates unexpectedly.

Detection Engineering

YARA Rule

rule CVE_2025_41738_CODESYS_DoS {
    meta:
        description = "Detects potential exploitation of CVE-2025-41738 via malformed network packets"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-41738"
    strings:
        $s1 = "CODESYS" ascii wide nocase
        $s2 = "visualization" ascii wide nocase
        $s3 = "type_confusion" ascii wide nocase
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-41738 CODESYS Visualization Server DoS
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects network traffic targeting CODESYS visualization server that may indicate exploitation of CVE-2025-41738
author: Valters IT
date: 2025-04-10
logsource:
    category: network
    product: suricata
detection:
    selection:
        dest_port:
            - 8080
            - 8081
        payload_length: "> 1000"  # Example threshold
    condition: selection
falsepositives:
    - Legitimate large visualization data
level: high

Suricata Rule

alert tcp any any -> any 8080,8081 (msg:"CVE-2025-41738 CODESYS Visualization Server DoS Attempt"; flow:to_server; content:"|00 00 00 00|"; depth:4; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Actions:

    • Isolate CODESYS Control runtime systems from untrusted networks.
    • Use firewalls to restrict access to the visualization server port (8080/8081) to only trusted IPs.
    • Disable the visualization server if it is not required for operations.
  2. Long-term Fix:

    • Monitor the CODESYS vendor website for patches or security updates.
    • Apply vendor-supplied patches as soon as they are released.
    • Implement network segmentation and least-privilege access controls.
  3. Detection:

    • Deploy the provided YARA, Sigma, and Suricata rules to detect exploitation attempts.
    • Enable logging on CODESYS devices and monitor for crashes.
  4. Workaround:

    • If patching is not possible, consider using a reverse proxy or VPN to limit exposure.

Valters IT
Securing Industrial Control Systems

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

CODESYS Control runtime
CODESYS visualization server

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-41738/ · 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.