Multiple vulnerabilities in NETxEIB OPC server
=============================================
OPC servers provide a standard way to interoperate automation and control
systems, bridging data from several industrial protocols such as DNP3,
MODBUS, etc. to a more standard data access interface. They are often used
in SCADA systems to consolidate network device information in a single
point; as such OPC servers are usually considered critical applications.
NETxAUTOMATION commercialises an OPC Server
("NETxEIB.MP.OPEN.OPC.Server.3.0"), more information is available at
http://www.netxautomation.com/.
ANALYSIS
--------
The product presents various security vulnerabilities, allowing an attacker
with access to the OPC interface to arbitrarily read and write the process
memory, potentially leading to the execution of attacker-provided code.
The vulnerabilities reside in the server implementation of the following OPC
Data Access interface methods:
* IOPCSyncIO::Read
* IOPCSyncIO::Write
* IOPCServer::AddGroup
* IOPCServer::RemoveGroup
* IOPCCommon::SetClientName
* IOPCGroupStateMgt::CloneGroup
By providing specially crafted OPC handles the attacker can force the server
to access arbitrary memory, both in read and write operations which can be
potentially leveraged to execute arbitrary code in the OPC server.
VULNERABLE VERSIONS
-------------------
The vulnerability has been verified to be present in the following version
of the server:
Server name: NETxEIB MP Open OPC Server 3.0
OPC Server CLSID: {AAEEF077-F162-4A1F-AD88-C37F35EA4030}
ProgID: NETxEIB.MP.OPEN.OPC.Server.3.0
Version: 3.0.125
OS: Windows XP
The vulnerability was discovered during an OPC server group assessment for a
customer and is not known to be publicly exploited.
WORKAROUND
----------
The vendor has fixed the vulnerability and published an updated version.
ADDITIONAL INFORMATION
----------------------
This vulnerability was found and researched by:
Lluis Mora
Xavier Panadero
You can find the latest version of this advisory at:
http://www.neutralbit.com/
Disclosure timeline:
12/Jan/2006: Vendor notified
12/Jan/2006: US-CERT notified
20/Mar/2006: Vendor published public advisory
21/Mar/2006: Neutralbit advisory published
References:
CERT: US-CERT Vulnerability Note VU#296593
CVE: CVE-2007-1313