{
  "document": {
    "category": "csaf_security_advisory",
    "csaf_version": "2.0",
    "tracking": {
      "generator": {
        "date": "2025-06-25T07:30:15.496Z",
        "engine": {
          "version": "2.5.28",
          "name": "Secvisogram"
        }
      },
      "id": "VDE-2020-048",
      "version": "1.0.0",
      "status": "final",
      "aliases": [
        "VDE-2020-048"
      ],
      "revision_history": [
        {
          "number": "1.0.0",
          "summary": "initial revision",
          "date": "2021-01-14T14:57:00.000Z"
        }
      ],
      "current_release_date": "2021-01-14T14:57:00.000Z",
      "initial_release_date": "2021-01-14T14:57:00.000Z"
    },
    "lang": "en-GB",
    "title": "M&M Software (WAGO): Deserialisation of untrusted data in fdtContainer",
    "acknowledgments": [
      {
        "organization": "CERTVDE",
        "urls": [
          "https://certvde.com"
        ],
        "summary": "coordination"
      },
      {
        "organization": "customer of the fdtCONTAINER",
        "summary": "reporting"
      }
    ],
    "distribution": {
      "tlp": {
        "label": "WHITE"
      }
    },
    "notes": [
      {
        "category": "summary",
        "title": "Summary",
        "text": "The fdtCONTAINER component is integrated into an application (host application). The fdtCONTAINER application is a specific host application which integrates the fdtCONTAINER component.\n\nThe 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).\n\nTo 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\nfdtCONTAINER applications, the user has to open the manipulated project file manually.\n\nIn the case of opening a stored project, the deserialization of the manipulated data can be exploited."
      },
      {
        "category": "description",
        "title": "Impact",
        "text": "The engineering workstation, on which the host application is executed, might execute malicious code with the user rights of the host application."
      },
      {
        "category": "description",
        "title": "Mitigation",
        "text": "- Exchange project data only via secure exchange services\n- Use appropriate means to protect the project storage from unauthorized manipulation\n- Do not open project data from an unknown source\n- Reduce the user rights of the host application to the necessary minimum"
      },
      {
        "category": "description",
        "title": "Remediation",
        "text": "M&M provides two technical solution options. Customers may choose between the following:\n\n---\n\n### Option 1:\n\nUpdate the `fdtCONTAINER component` or `fdtCONTAINER application` to a version that offers **more secure deserialization** of project data.\n\n- This version still uses a **deprecated serialization technology**,  \n  but fixes the currently known attack vector.\n- It remains **compatible with existing, non-manipulated project files**.\n\n**Implemented in:**\n- `fdtCONTAINER component`: **3.6.20304.x – < 3.7**\n- `fdtCONTAINER application`: **4.6.20304.x – < 4.7**\n\n---\n\n### Option 2:\n\nUpdate the `fdtCONTAINER component` or `fdtCONTAINER application` to a version that uses an **updated serialization technology** for deserialization.\n\n- This option ensures **secure handling of project data**.\n- **Incompatible** with existing, non-manipulated project files.\n\n**Implemented in:**\n- `fdtCONTAINER component`: **≥ 3.7**\n- `fdtCONTAINER application`: **≥ 4.7**\n\n---\n\nThe fixed version of `dtmINSPECTOR` will also apply **Option 2**  \nand is planned to be available in **Q1 2021**."
      }
    ],
    "publisher": {
      "category": "vendor",
      "contact_details": "psirt@wago.com",
      "name": "WAGO GmbH & Co. KG",
      "namespace": "https://www.wago.com/psirt"
    },
    "references": [
      {
        "category": "external",
        "summary": "WAGO GmbH & Co. KG",
        "url": "https://www.wago.com/psirt"
      },
      {
        "category": "external",
        "summary": "CERT@VDE Security Advisories for WAGO",
        "url": "https://certvde.com/en/advisories/vendor/wago/"
      },
      {
        "category": "self",
        "url": "https://certvde.com/en/advisories/VDE-2020-048/",
        "summary": "VDE-2020-048: M&M Software (WAGO): Deserialisation of untrusted data in fdtContainer - HTML"
      },
      {
        "summary": "VDE-2020-048: M&M Software (WAGO): Deserialisation of untrusted data in fdtContainer - CSAF",
        "url": "https://wago.csaf-tp.certvde.com/.well-known/csaf/white/2021/vde-2020-048.json",
        "category": "self"
      }
    ]
  },
  "product_tree": {
    "branches": [
      {
        "name": "M&M Software (WAGO)",
        "category": "vendor",
        "branches": [
          {
            "name": "Software",
            "category": "product_family",
            "branches": [
              {
                "name": "dtmINSPECTOR bBased on FDT 1.2.x",
                "category": "product_name",
                "branches": [
                  {
                    "name": "3",
                    "category": "product_version",
                    "product": {
                      "name": "dtmINSPECTOR bBased on FDT 1.2.x 3",
                      "product_id": "CSAFPID-51001"
                    }
                  }
                ]
              },
              {
                "name": "fdtCONTAINER application",
                "category": "product_name",
                "branches": [
                  {
                    "name": "<4.5",
                    "category": "product_version_range",
                    "product": {
                      "name": "fdtCONTAINER application <4.5",
                      "product_id": "CSAFPID-51002"
                    }
                  },
                  {
                    "name": "4.5.0<4.5.20304.x",
                    "category": "product_version_range",
                    "product": {
                      "name": "fdtCONTAINER application 4.5.0<4.5.20304.x",
                      "product_id": "CSAFPID-51003"
                    }
                  },
                  {
                    "name": "4.6.0<4.6.20304.x",
                    "category": "product_version_range",
                    "product": {
                      "name": "fdtCONTAINER application 4.6.0<4.6.20304.x",
                      "product_id": "CSAFPID-51004"
                    }
                  },
                  {
                    "name": "4.7",
                    "category": "product_version",
                    "product": {
                      "name": "fdtCONTAINER application 4.7",
                      "product_id": "CSAFPID-52001"
                    }
                  }
                ]
              },
              {
                "name": "fdtCONTAINER component",
                "category": "product_name",
                "branches": [
                  {
                    "name": "3.5.0<3.5.20304.x",
                    "category": "product_version_range",
                    "product": {
                      "name": "fdtCONTAINER component 3.5.0<3.5.20304.x",
                      "product_id": "CSAFPID-51005"
                    }
                  },
                  {
                    "name": "3.6.0<3.6.20304.x",
                    "category": "product_version_range",
                    "product": {
                      "name": "fdtCONTAINER component 3.6.0<3.6.20304.x",
                      "product_id": "CSAFPID-51006"
                    }
                  },
                  {
                    "name": "<3.5",
                    "category": "product_version_range",
                    "product": {
                      "name": "fdtCONTAINER component <3.5",
                      "product_id": "CSAFPID-51007"
                    }
                  },
                  {
                    "name": "3.7",
                    "category": "product_version",
                    "product": {
                      "name": "fdtCONTAINER component 3.7",
                      "product_id": "CSAFPID-52002"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "product_groups": [
      {
        "group_id": "CSAFGID-0001",
        "summary": "Affected Products",
        "product_ids": [
          "CSAFPID-51001",
          "CSAFPID-51002",
          "CSAFPID-51003",
          "CSAFPID-51004",
          "CSAFPID-51005",
          "CSAFPID-51006",
          "CSAFPID-51007"
        ]
      },
      {
        "group_id": "CSAFGID-0002",
        "summary": "Fixed Products",
        "product_ids": [
          "CSAFPID-52001",
          "CSAFPID-52002"
        ]
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2020-12525",
      "product_status": {
        "known_affected": [
          "CSAFPID-51001",
          "CSAFPID-51002",
          "CSAFPID-51003",
          "CSAFPID-51004",
          "CSAFPID-51005",
          "CSAFPID-51006",
          "CSAFPID-51007"
        ],
        "fixed": [
          "CSAFPID-52001",
          "CSAFPID-52002"
        ]
      },
      "scores": [
        {
          "products": [
            "CSAFPID-51001",
            "CSAFPID-51002",
            "CSAFPID-51003",
            "CSAFPID-51004",
            "CSAFPID-51005",
            "CSAFPID-51006",
            "CSAFPID-51007"
          ],
          "cvss_v3": {
            "version": "3.0",
            "vectorString": "CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H",
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "temporalScore": 7.3,
            "temporalSeverity": "HIGH",
            "environmentalScore": 7.3,
            "environmentalSeverity": "HIGH",
            "attackVector": "LOCAL",
            "attackComplexity": "LOW",
            "privilegesRequired": "LOW",
            "userInteraction": "REQUIRED",
            "scope": "UNCHANGED",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "availabilityImpact": "HIGH"
          }
        }
      ],
      "notes": [
        {
          "audience": "all",
          "category": "description",
          "title": "Vulnerability Description",
          "text": "M&M Software fdtCONTAINER Component in versions below 3.5.20304.x and between 3.6 and 3.6.20304.x is vulnerable to deserialization of untrusted data in its project storage."
        }
      ],
      "remediations": [
        {
          "category": "mitigation",
          "details": "- Exchange project data only via secure exchange services\n- Use appropriate means to protect the project storage from unauthorized manipulation\n- Do not open project data from an unknown source\n- Reduce the user rights of the host application to the necessary minimum",
          "group_ids": [
            "CSAFGID-0001"
          ]
        },
        {
          "group_ids": [
            "CSAFGID-0002"
          ],
          "category": "vendor_fix",
          "details": "M&M provides two technical solution options. Customers may choose between the following:\n\n---\n\n### Option 1:\n\nUpdate the `fdtCONTAINER component` or `fdtCONTAINER application` to a version that offers **more secure deserialization** of project data.\n\n- This version still uses a **deprecated serialization technology**,  \n  but fixes the currently known attack vector.\n- It remains **compatible with existing, non-manipulated project files**.\n\n**Implemented in:**\n- `fdtCONTAINER component`: **3.6.20304.x – < 3.7**\n- `fdtCONTAINER application`: **4.6.20304.x – < 4.7**\n\n---\n\n### Option 2:\n\nUpdate the `fdtCONTAINER component` or `fdtCONTAINER application` to a version that uses an **updated serialization technology** for deserialization.\n\n- This option ensures **secure handling of project data**.\n- **Incompatible** with existing, non-manipulated project files.\n\n**Implemented in:**\n- `fdtCONTAINER component`: **≥ 3.7**\n- `fdtCONTAINER application`: **≥ 4.7**\n\n---\n\nThe fixed version of `dtmINSPECTOR` will also apply **Option 2**  \nand is planned to be available in **Q1 2021**."
        }
      ],
      "cwe": {
        "id": "CWE-502",
        "name": "Deserialization of Untrusted Data"
      },
      "title": "CVE-2020-12525"
    }
  ]
}