OPC UA Invalid Server Nonces Vulnerability
26.03.2020
OPC Foundation (OPCF) has announced a Security Bulletin (CVE-2019-19135) on March 16, 2020 concerning a vulnerability in the OPC UA Java and .NET Stacks of OPC Foundation:
“… that could result in encrypted password credentials or signed X509 certificate credentials being sent in a form that can be intercepted and reused.”
Prosys OPC UA SDK for Java has the stack layer derived from the OPC Foundation Java Stack, and is therefore also affected by the same issue.
Details
The issue is related to some server applications that are not following the security specifications properly and are reusing ServerNonces in communication. Servers built with Prosys OPC UA SDK for Java or Delphi or with any Unified Automation SDK are behaving properly and are not affected.
The suggested fix in the stack and SDK is to make the client applications check for the vulnerability and reject connections with misbehaving servers.
The vulnerability concerns all communications that do not encrypt traffic, so in practice security modes None and Sign are affected, when user name or user certificate credentials are used. The fixed version of the client SDK for Java is disabling session activation (i.e. connections), if it identifies a misbehaving server. In this case, connection is possible only without user credentials.
Prosys OPC UA products affected
The vulnerability affects directly:
- All client applications built with Prosys OPC UA SDK for Java 4.2.0 and earlier
- Prosys OPC UA Browser 4.0.2 and earlier
- Prosys OPC UA Historian 1.0.0
Note that the vulnerability affects the applications only when they are connecting with misbehaving server applications using user name or user certificate authentication.
Fixed products
The issue is now fixed in Prosys OPC UA SDK 4.3.0 and Prosys OPC UA Browser 4.0.4 and we encourage everyone to update to these versions. Prosys OPC UA Historian will be updated later, respectively.
Fixing the issue with older library versions
Since the issue is related to security modes None and Sign only, when user name or user certificate based authentication is used, you can avoid the issue by not using these modes in applications.
In general, if top level security is a concern, SignAndEncrypt with the most recent security policies should be preferred.
More security information
You will find the currently announced security issues in Prosys OPC products from the blog under the #Security tag.
You might also like to read about the OPC UA Security Process of the OPC Foundation.
Jouni Aro
Chief Technology Officer
Email: jouni.aro@prosysopc.com
Expertise and responsibility areas: OPC & OPC UA product development, project work and customer support
About Prosys OPC Ltd
Prosys OPC is a leading provider of professional OPC software and services with over 20 years of experience in the field. OPC and OPC UA (Unified Architecture) are communications standards used especially by industrial and high-tech companies.
Newest blog posts
Why Do Standards Matter in Smart Manufacturing?
The blog post discusses the importance of standards in smart manufacturing, envisioning a future where auto-configurable systems in manufacturing rely on standardized data formats for seamless integration and reduced costs, with a focus on the OPC UA standard family as a key enabler.
OPC UA PubSub to Cloud via MQTT
Detailed overview of the demo presented at the OPC Foundation booth
SimServer How To #3: Simulate data changes on a server using an OPC UA client
A two-part step-by-step tutorial on how to write data changes on an OPC UA server using an OPC UA client.