CVE-2021-21869

7.8 HIGH

📋 TL;DR

This CVE describes an unsafe deserialization vulnerability in CODESYS Development System that allows arbitrary command execution when processing malicious files. Attackers can exploit this by providing specially crafted files to vulnerable systems. Affected users include anyone using CODESYS Development System 3.5.16 or 3.5.17 for industrial control system development.

💻 Affected Systems

Products:
  • CODESYS GmbH CODESYS Development System
Versions: 3.5.16 and 3.5.17
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in Engine.plugin ProfileInformation ProfileData functionality when processing files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with remote code execution leading to industrial process disruption, data theft, or ransomware deployment.

🟠

Likely Case

Local privilege escalation leading to unauthorized access to engineering workstations and potential lateral movement within industrial networks.

🟢

If Mitigated

Limited impact with proper network segmentation and file validation controls preventing malicious file execution.

🌐 Internet-Facing: LOW
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires user interaction to open malicious files. TALOS-2021-1306 provides technical details.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.5.18.0 or later

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

Restart Required: Yes

Instructions:

1. Download CODESYS Development System 3.5.18.0 or later from official vendor site. 2. Backup existing projects. 3. Install the update following vendor instructions. 4. Restart affected systems.

🔧 Temporary Workarounds

Restrict file processing

all

Implement strict file validation and only allow trusted files to be processed by CODESYS Development System.

User awareness training

all

Train users to only open files from trusted sources and verify file integrity before processing.

🧯 If You Can't Patch

  • Implement network segmentation to isolate CODESYS development systems from critical production networks
  • Deploy application whitelisting to prevent execution of unauthorized processes

🔍 How to Verify

Check if Vulnerable:

Check CODESYS Development System version in Help > About menu. If version is 3.5.16 or 3.5.17, system is vulnerable.

Check Version:

In CODESYS Development System: Help > About menu displays version information

Verify Fix Applied:

Verify version is 3.5.18.0 or later in Help > About menu and test file processing functionality.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file processing events
  • Unexpected process execution from CODESYS
  • Error logs related to Engine.plugin ProfileInformation

Network Indicators:

  • Unexpected outbound connections from CODESYS systems
  • File transfers to/from development workstations

SIEM Query:

source="CODESYS" AND (event_type="file_processing" OR process_name="Engine.plugin")

🔗 References

📤 Share & Export