Kelly Leuschner of Cisco Talos discovered these vulnerabilities. Blog by Jon Munshaw.
The WAGO PFC200 and PFC100 controllers contain multiple exploitable vulnerabilities. The PFC200 is one of WAGO’s programmable automation controllers that are used in many industries including automotive, rail, power engineering, manufacturing and building management. The vulnerabilities disclosed here all have their root cause within the protocol handling code of the I/O Check (iocheckd)
configuration service used by the controllers. The vulnerabilities discussed here could allow an attacker to remotely execute code, deny service to the device or weaken device login credentials.
In accordance with our coordinated disclosure policy, Cisco Talos worked with WAGO to ensure that these issues are resolved and that an update is available for affected customers.
Vulnerability details
WAGO PFC200 iocheckd service "I/O-Check" external tool information exposure vulnerability (TALOS-2019-0862/CVE-2019-5073)
An exploitable information exposure vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause an external tool to fail, resulting in uninitialized stack data to be copied to the response packet buffer. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" BC_ProductLabel remote code execution vulnerability (TALOS-2019-0863/CVE-2019-5074)
An exploitable stack buffer overflow vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause a stack buffer overflow, resulting in code execution. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" get_coupler_details remote code execution vulnerability (TALOS-2019-0864/CVE-2019-5075)
An exploitable stack buffer overflow vulnerability exists in the command line utility get_coupler_details of the WAGO PFC 200. A specially crafted set of packets sent to the iocheckd service "I/O-Check" can cause a stack buffer overflow in the sub-process get_coupler_details, resulting in code execution. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" MAC Address overwrite denial-of-service vulnerability (TALOS-2019-0869/CVE-2019-5077)
An exploitable denial-of-service vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause a denial of service, resulting in the device entering an error state where it ceases all network communications. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" erase denial-of-service vulnerability (TALOS-2019-0870/CVE-2019-5078)
An exploitable denial-of-service vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause a denial of service, resulting in the device entering an error state where it ceases all network communications. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" ReadPSN remote code execution vulnerability (TALOS-2019-0871/CVE-2019-5079)
An exploitable heap buffer overflow vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause a heap buffer overflow, potentially resulting in code execution. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" factory restore denial-of-service vulnerability (TALOS-2019-0872/CVE-2019-5080)
An exploitable denial-of-service vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A single packet can cause a denial of service and weaken credentials resulting in the default documented credentials being applied to the device. An attacker can send an unauthenticated packet to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" ReadPCBManuNum remote code execution vulnerability (TALOS-2019-0873/CVE-2019-5081)
An exploitable heap buffer overflow vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause a heap buffer overflow, potentially resulting in code execution. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
WAGO PFC200 iocheckd service "I/O-Check" ReadPRGDATE remote code execution vulnerability (TALOS-2019-0874/CVE-2019-5082)
An exploitable heap buffer overflow vulnerability exists in the iocheckd service "I/O-Check" functionality of WAGO PFC 200. A specially crafted set of packets can cause a heap buffer overflow, potentially resulting in code execution. An attacker can send unauthenticated packets to trigger this vulnerability.
Read the complete vulnerability advisory here for additional information.
Versions tested Talos tested and confirmed that version 03.00.39(12) of the WAGO PFC200 and PFC100 is affected by these vulnerabilities. Firmware version 03.01.07(13) of the PFC200 was not explicitly tested for some of these bugs, but the vulnerable function in these vulnerabilities do exist in this version. Talos recommended that a fix be applied to that version, as well.
Coverage The following SNORTⓇ rules will detect exploitation attempts. Note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your Firepower Management Center or Snort.org.
Snort Rules: 50786 - 50789, 50790 - 50793, 50797