Share: Email | Twitter

ID

VDE-2021-055

Published

2022-04-26 12:00 (CEST)

Last update

2022-07-05 16:13 (CEST)

Vendor(s)

Pilz GmbH & Co. KG

Product(s)

Article No┬░ Product Name Affected Version(s)
PMC programming tool 2.x.x all versions

Summary

The software product PMC programming tool from Pilz is based on the software CODESYS Development System from CODESYS GmbH. This software is affected by several vulnerabilities, which an attacker can exploit locally or via the network. This means that, in a worst case, attackers could execute arbitrary program code on the PC on which the PMC programming tool is used.

Vulnerabilities



Weakness
Out-of-bounds Write (CWE-787)
Summary

CODESYS V2.3 ENI server up to V3.2.2.24 has a Buffer Overflow.

Weakness
Buffer Access with Incorrect Length Value (CWE-805)
Summary

Multiple memory corruption vulnerabilities exist in CodeMeter (All versions prior to 7.10) where the packet parser mechanism does not verify length fields. An attacker could send specially crafted packets to ...

Weakness
Inadequate Encryption Strength (CWE-326)
Summary

Protocol encryption can be easily broken for CodeMeter (All versions prior to 6.90 are affected, including Version 6.90 or newer only if CodeMeter Runtime is running as server) and the ...

Weakness
Use of Out-of-range Pointer Offset (CWE-823)
Summary

A crafted request with invalid offsets may cause an out-of-bounds read or write access in CODESYS V2 Runtime Toolkit 32 Bit full and PLCWinNT prior to versions V2.4.7.56, resulting in ...

Weakness
Improper Input Validation (CWE-20)
Summary

CodeMeter (All versions prior to 6.81) and the software using it may crash while processing a specifically crafted license file due to unverified length fields.

Weakness
Origin Validation Error (CWE-346)
Summary

This vulnerability allows an attacker to use the internal WebSockets API for CodeMeter (All versions prior to 7.00 are affected, including Version 7.0 or newer with the affected WebSockets API ...

Weakness
Improper Handling of Exceptional Conditions (CWE-755)
Summary

In CODESYS V2 Runtime Toolkit 32 Bit full and PLCWinNT prior to versions V2.4.7.56 unauthenticated crafted invalid requests may result in several denial-of-service conditions. Running PLC programs may be stopped, ...

Weakness
Improper Resource Shutdown or Release (CWE-404)
Summary

An attacker could send a specially crafted packet that could have CodeMeter (All versions prior to 7.10) send back packets containing data from the heap.

Weakness
Improper Verification of Cryptographic Signature (CWE-347)
Summary

CodeMeter (All versions prior to 6.90 when using CmActLicense update files with CmActLicense Firm Code) has an issue in the license-file signature checking mechanism, which allows attackers to build arbitrary ...

Weakness
Access of Uninitialized Pointer (CWE-824)
Summary

A crafted request may cause a read access to an uninitialized pointer in CODESYS V2 Runtime Toolkit 32 Bit full and PLCWinNT prior to versions V2.4.7.56, resulting in a denial-of-service ...

Impact

In a worst case, attackers could execute arbitrary program code on the PC on which the PMC programming tool is used.

Solution

General countermeasures

  • Use a hardware firewall, host-based firewall or comparable measures at network level to
    protect against unauthorised network communication with the PC.
  • Use a virus scanner or other measures to protect against malware.
  • Only use CODESYS libraries and archives from trusted sources.

Product-specific countermeasures

  • No product-specific countermeasures available, please follow the general
    countermeasures or migrate your application to the CODESYS V3 runtime system.

Reported by

Pilz would like to thank CERT@VDE for coordinating publication.