As part of Team82's continued mission and focus to support and secure critical infrastructure, researcher Tal Keren has discovered a vulnerability (CVE-2019-19279) in the Siemens Digsi 4 protocol. This vulnerability allows for a denial-of-service (DOS) attack against Siemens SIPROTEC 4 protection relays, designed specifically for electrical substations. This is the same protocol that was exploited by the Industroyer malware in 2016.
Team82 immediately reported this research and coordinated with Siemens, which has now released an advisory (SSA-974843) with workarounds and mitigations.
The Industroyer malware, also referred to as Crashoverride, was used to attack the Ukraine power grid in 2016, and it contained targeted industrial cybersecurity (ICS) payloads that allowed it to communicate using ICS protocols and specifically attack the electrical substations of the targeted companies. Substations are critical in power generation, distribution, and transmission networks. A very important component in a substation is the protection relay, which is responsible for monitoring the actual current transmitted in every location and may trip any circuit breaker if anything unexpected happens. Without this protection relay, anything from a power outage to physical damage and even safety issues could occur.
Some of the payloads used by Industroyer were designed to cause DOS on the protection relays and remote terminal units (RTU) used in the targeted power grid companies and act as a kill switch. One of the specifically targeted ICS payloads found in the Industroyer malware (CVE-2015-5374) that was implemented caused DOS on Siemens SIPROTEC 4 protection relays. This vulnerability used the SIPROTEC 4 programming protocol (Digsi 4) that communicates over UDP port 50000, and the proof of concept (POC) code implementing it is available publicly.
The newest vulnerability discovered by Claroty uses a malicious packet in that same protocol to cause a DOS on those relays, thus allowing an attacker to reproduce the damage caused by Industroyer. This Digsi4 protocol allows users to program the protection relay and change its behavior. Like many other ICS related protocols, this protocol was developed by Siemens as a proprietary protocol. In that, the challenge for traditional IT security products aiming to protect against such attacks is increased, as a specific understanding of the protocol and deep packet inspection (DPI) capabilities are required.
It is important to note that the advisory published by Siemens contains workarounds and mitigations for this issue. Siemens has also improved security in the newer SIPROTEC 5 relays, whose communication protocol is encrypted and utilizes improved security.
Many other protection relays and other types of ICS hardware in the industry use proprietary protocols for programming purposes. Securing these critical devices requires deep understanding of those protocols, a fundamental knowledge of Operational Technology (OT) security, and continuous research to find and map potential vulnerabilities—whether in the design of the protocol, implementation, or determining attempts to abuse it.
CWE-191 INTEGER UNDERFLOW (WRAP OR WRAPAROUND):
The affected product is vulnerable to an integer underflow. An unauthenticated attacker could send a malformed HTTP Requesty, which could allow the attacker to crash the program.
Planet Technology recommends users upgrade to version 1.305b241111 or later.
CVSS v3: 5.3
CWE-78 IMPROPER NEUTRALIZATION OF SPECIAL ELEMENTS USED IN AN OS COMMAND ('OS COMMAND INJECTION'):
The affected product is vulnerable to a command injection. An unauthenticated attacker could send commands through a malicious HTTP request which could result in remote code execution.
Planet Technology recommends users upgrade to version 1.305b241111 or later.
CVSS v3: 9.8
CWE-121 STACK-BASED BUFFER OVERFLOW:
The affected product is vulnerable to a stack-based buffer overflow. An unauthenticated attacker could send a malicious HTTP request that the webserver fails to properly check input size before copying data to the stack, potentially allowing remote code execution.
Planet Technology recommends users upgrade to version 1.305b241111 or later.
CVSS v3: 9.8
CWE-359 Exposure of Private Personal Information to an Unauthorized Actor:
Ruijie Reyee OS versions prior to 2.260.0.1329 contains a a feature that could enable sub accounts
or attackers attackers to view and exfiltrate sensitive information from all cloud accounts registered to Ruijie's services.
CVSS v3: 6.5
CWE-1391 Use of Weak Credentials:
Ruijie Reyee OS versions prior to 2.260.0.1329 uses weak credential mechanism that could allow
an attacker to easily calculate MQTT credentials.
Ruijie reports that the issues have been fixed on the cloud and no action is needed by end users.
CVSS v3: 7.5