CVE-2022-22519

7.5 HIGH

📋 TL;DR

CVE-2022-22519 is a buffer over-read vulnerability in CODESYS Control runtime system webserver that allows remote, unauthenticated attackers to crash the webserver by sending crafted HTTP/HTTPS requests. This affects industrial control systems using vulnerable CODESYS software, potentially disrupting operations.

💻 Affected Systems

Products:
  • CODESYS Control runtime system
Versions: All versions prior to CODESYS Control V3.5.19.0
Operating Systems: Windows, Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects systems with CODESYS web server enabled (default configuration). Industrial control systems in manufacturing, energy, and critical infrastructure sectors are particularly at risk.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service of the CODESYS Control runtime system, disrupting industrial processes and potentially causing safety incidents in critical infrastructure.

🟠

Likely Case

Webserver crash causing temporary service disruption until manual restart, affecting HMI access and remote monitoring capabilities.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, allowing quick detection and recovery from service interruptions.

🌐 Internet-Facing: HIGH - Remote unauthenticated exploitation makes internet-facing systems particularly vulnerable to simple DoS attacks.
🏢 Internal Only: MEDIUM - Internal attackers could still cause service disruption, but network segmentation reduces exposure.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability requires only crafted HTTP/HTTPS requests, making exploitation straightforward for attackers with network access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: CODESYS Control V3.5.19.0 and later

Vendor Advisory: https://customers.codesys.com/index.php?eID=dumpFile&t=f&f=17094&token=2fb188e2213c74194e81ba61ff99f1c68602ba4d&download=

Restart Required: Yes

Instructions:

1. Download CODESYS Control V3.5.19.0 or later from CODESYS customer portal. 2. Backup current configuration. 3. Install the update following vendor documentation. 4. Restart the CODESYS Control runtime system. 5. Verify the update was successful.

🔧 Temporary Workarounds

Disable CODESYS web server

all

Disable the vulnerable web server component if not required for operations

Navigate to CODESYS Control configuration and disable web server functionality

Network segmentation and firewall rules

linux

Restrict access to CODESYS web server ports (default 80/443, 8080/8443)

iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP
iptables -A INPUT -p tcp --dport 8080 -j DROP
iptables -A INPUT -p tcp --dport 8443 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate CODESYS systems from untrusted networks
  • Deploy intrusion detection systems to monitor for exploitation attempts and anomalous HTTP traffic

🔍 How to Verify

Check if Vulnerable:

Check CODESYS Control version via CODESYS IDE or system information. Versions below V3.5.19.0 are vulnerable.

Check Version:

Check via CODESYS IDE: Project → Device → Device Information or system-specific commands depending on installation

Verify Fix Applied:

Verify version is V3.5.19.0 or later and test web server functionality with normal HTTP requests.

📡 Detection & Monitoring

Log Indicators:

  • Webserver crash logs
  • Abnormal termination of CODESYS processes
  • Multiple malformed HTTP requests from single source

Network Indicators:

  • Unusual HTTP request patterns to CODESYS web ports
  • Requests with abnormal headers or payload sizes

SIEM Query:

source="CODESYS" AND (event="crash" OR event="termination") OR dest_port IN (80, 443, 8080, 8443) AND http_request contains abnormal patterns

🔗 References

📤 Share & Export