Remote Code Execution

Tenable Research has discovered an unauthenticated remote code execution (RCE) vulnerability in InduSoft Web Studio 8.1.2.0. ICS-CERT has assigned CVE-2019-6545 and CVE-2019-6543 for this vulnerability.

Background
InduSoft Web Studio is an automation tool for human-machine interface (HMI) and supervisory control and data acquisition (SCADA) systems. According to its website, Web Studio is used in manufacturing, oil and gas, municipal water and correctional facilities and even by a drag racer.
By exploiting this vulnerability, an attacker can run commands on the targeted system by directing it to fetch a malicious database configuration file (DB.xdc) from an attacker-controlled server.

Analysis
The vulnerability is a result of Web Studio’s builtin language being made available to unauthenticated remote attackers. The builtin language allows users to execute operating system level commands. An attacker can execute the builtin language by sending a properly crafted DBProcessCall message (command 66). Using DBProcessCall, the attacker can direct Web Studio to load a database configuration file from a remote server. The configuration file can contain malicious builtin language commands which Web Studio will then execute.

Command 66 only requires permission 0 to run, meaning it doesn’t require authentication and/or authorization. The attack would work even if Security is enabled, a Main password is set and the Guest account is deleted.

Proof of concept
Proof of concept (PoC) code has been uploaded to the Tenable Research GitHub and you can see a video PoC here.

Solution
Aveva has issued a security bulletin for this vulnerability, along with a software update. Enterprises running InduSoft Web Studio should update their software to InduSoft Web Studio v8.1 SP3 and ensure these critical systems are not exposed to the internet.