WAGO/M&M Software: Deserialization of untrusted data in fdtContainer

WAGO/M&M Software: Deserialization of untrusted data in fdtCONTAINER component and fdtCONTAINER application

VDE-2020-048 (2021-01-14 16:57 UTC+0200)

CVE Identifier

CVE-2020-12525

Affected Vendors

M&M Software

Affected Products

fdtCONTAINER component:
< 3.5
3.5.0 < 3.5.20304.x
3.6.0 < 3.6.20304.x

fdtCONTAINER application:
< 4.5
4.5.0 < 4.5.20304.x
4.6.0 < 4.6.20304.x

dtmINSPECTOR:
3 (Based on FDT 1.2.x)

Summary

The fdtCONTAINER component is integrated into an application (host application). The fdtCONTAINER application is a specific host application which integrates the fdtCONTAINER component.

The fdtCONTAINER component exchanges binary data blobs with such a host application. Typically, the host application saves these binary data blobs into a project storage (project file or a project database).

To manipulate the data inside the project storage, the attacker needs write access to this project storage. Additionally, the manipulated project needs to be opened by the host application. It depends on the host application whether opening the project requires a user action or not. In
fdtCONTAINER applications, the user has to open the manipulated project file manually.

In the case of opening a stored project, the deserialization of the manipulated data can be exploited.

Impact

The engineering workstation, on which the host application is executed, might execute malicious code with the user rights of the host application.

Solution

M&M provides option between two technical solutions. Customers may choose between these two options.

Option 1
Update the fdtCONTAINER component / fdtCONTAINER application to a version that provides a more secure deserialization of the project data. This version will still use a deprecated serialization technology, but will fix the currently known attack vector and will be compatible with existing, non-manipulated project files.

Option 1 is implemented in the following product versions:
fdtCONTAINER component: 3.6.20304.x - < 3.7
fdtCONTAINER application: 4.6.20304.x - < 4.7

Option 2
Update the fdtCONTAINER component / fdtCONTAINER application to a version that provides a secure deserialization of the project data with an updated serialization technology. This will break the compatibility to existing, non-manipulated project files.

Option 2 is implemented in the following product versions:
fdtCONTAINER component: >= 3.7
fdtCONTAINER application: >= 4.7

The fixed version of dtmINSPECTOR will also apply option 2, and will be available in Q1 2021.

Mitigation

  1. Exchange project data only via secure exchange services
  2. Use appropriate means to protect the project storage from unauthorized manipulation
  3. Do not open project data from an unknown source
  4. Reduce the user rights of the host application to the necessary minimum

Reported by

Reported by a customer of the fdtCONTAINER component.
Coordinated by CERT@VDE