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

Rockwell Automation FactoryTalk Multiple Vulnerabilities

High

Synopsis

CVE-2020-5801 - RSLinxNG.exe Double OpenNamespace Unauthenticated Remote DoS

The OpenNamespace message is sent to TCP port 4241 to obtain a session id. Subsequent requests require a valid session-id to interact with the service listening on that port. In the OpenNamespace message, the session-id field in the message header should be absent or empty. If a second OpenNamespace request is sent with an valid session-id in it, the CFTLDManager::HandleRequest function in RnaDaSvr.dll loaded in RSLinxNG.exe leads to unhandled exception, resulting in termination of RSLinxNG.exe.

CVE-2020-5802 - RSLinxNG.exe ConfigureItems Unauthenticated Remote DoS

An attacker-controlled memory allocation size can be passed to the C++ new operator in RnaDaSvr.dll by sending a specially crafted ConfigureItems message to TCP prot 4241. This will cause the new operator to allocate a large amount of memory. It's been observed that a large allocation size (i.e., 0xfffffff3) can cause an unhandled exception in RSLinxNG.exe, which results in process termination of RSLinxNG.exe:

CVE-2020-5806 - RSLinxNG.exe LoadIconStream Local DoS

An attacker-controlled memory allocation size can be passed to the C++ new operator in the CServerManager::HandleBrowseLoadIconStreamRequest function in messaging.dll. A local attacker can send a specially crafted LoadIconStream message to 127.0.0.1:7153 to cause the new operator to allocate a large amount of memory. It's been observed that a large allocation size (i.e., 0xffffffff) can cause an unhandled exception in RSLinxNG.exe, which results in process termination of RSLinxNG.exe.

CVE-2020-5807  - FactoryTalk Diagnostics Viewer Unauthenticated Remote DoS

An unauthenticated remote attacker can send data to RsvcHost.exe listening on TCP port 5241 to add entries in the FactoryTalk Diagnostics event log. A local user can use the FactoryTalk Diagnostics Viewer (FTDiagViewer.exe) to view the log. The attacker can specify long fields in the log entry, which can cause an unhandled exception by wcscpy_s() in FTDiagnosticsViewer.dll loaded in FTDiagViewer.exe, resulting in process termination.

Solution

For patch solutions against CVE-2020-5801, CVE-2020-5802, and CVE-2020-5806, you can download Rockwell's patch located here: https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/1129188. Additionally, Rockwell customers can view general mitigation guidelines here https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/1129496.

Proof of Concept

https://github.com/tenable/poc/tree/master/RockwellAutomation/FactoryTalk

Disclosure Timeline

9/25/2020 - Vulnerabilities reported to Rockwell Automation.
9/29/2020 - Rockwell acknowledges report.
10/12/2020 - Tenable follows up to see if issues are confirmed.
10/12/2020 - Rockwell responds that issues will be looked into shortly.
11/10/2020 - Tenable follows up asking there is an expected patch coming.
11/12/2020 - Rockwell explains the expected patch date will be in March 2021, asks if disclosure date could be postponed.
11/17/2020 - Tenable replies that we are unable to extend disclosure date due to our disclosure policy.
11/17/2020 - Rockwell understands and says they are working on outline to address actions customers can take in mitigating these issues.
12/01/2020 - Tenable asks for any new updates, reminds that public disclosure will be December 28, 2020.
12/01/2020 - Rockwell explains they are putting together a disclosure document which will include remediation and mitigations, will try to provide draft prior to end of next week.
12/10/2020 - Rockwell follow up and asks if any CVE numbers have been assigned, offers to assign them themselves if needed.
12/13/2020 - Tenable responds that we can reserve and issue CVE numbers for related issues.
12/14/2020 - Tenable provides list of CVEs that we intend to use in reporting the vulnerabilities to Mitre.
12/18/2020 - Rockwell responds that they will provide documentation by Monday morning.
12/22/2020 - Tenable thanks Rockwell for update, follows up on expected documentation date.
12/23/2020 - Rockwell expects draft to be provided by end of week.
12/25/2020 - Rockwell provides disclosure draft.
12/27/2020 - Rockwell notifies Tenable that disclosure will be live 11 AM eastern time today.
01/14/2021 - Rockwell notifies Tenable of new patch

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

Tenable Advisory ID: TRA-2020-71
CVSSv2 Base / Temporal Score:
7.8 / 5.2
7.8 / 5.2
4.9 / 5.2
4.3 / 5.2
CVSSv2 Vector:
AV:N/AC:L/Au:N/C:N/I:N/A:C
AV:N/AC:L/Au:N/C:N/I:N/A:C
AV:L/AC:L/Au:N/C:N/I:N/A:C
AV:L/AC:M/Au:N/C:N/I:N/A:C
CVSSv3 Base / Temporal Score:
7.5
7.5
6.2
5.5
CVSSv3 Vector:
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Affected Products:
FactoryTalk Linx 6.11
FactoryTalk Diagnostics 6.11
Risk Factor:
High

Advisory Timeline

12-28-2020 - Advisory published.
01-14-2021 - Advisory updated with new patch details