JFrog Security Research
< Back

XRAY-75758 - Unified Automation C++ based OPC UA Client Server SDK unlimited file descriptors

JFrog Severity:medium

Discovered ByUriya Yavnieliof the JFrog Security Research Team

Published 1 Jun, 2022 | Last updated 1 Jun, 2022

The Unified Automation C++ based OPC UA Client Server SDK for Linux is susceptible to denial of service when a remote authenticated attacker opens a large amount of file descriptors

Unified Automation C++ based OPC UA Client Server SDK

Unified Automation C++ based OPC UA Client Server SDK (, 1.7.6], fixed in 1.7.7 ​

Unified Automation C++ based OPC UA Client Server SDK is a SDK used to develop an OPC UA server in C++, Developed by the Unified Automation.

In the Unified Automation C++-based OPC UA Demo Server, there is an exported object named readwrite.txt, it contains a function called Open() which opens the file. Whenever this function is called (with mode=1) it calls fopen() without checking if this file is already open. Calling this function X times will result in X open file descriptors. However, a limitation in Linux is set by default so that only 1024 files can be opened. Since under Linux a socket is also a file, once the process reaches its limit it will not be able to accept new network connections.

There was no root cause analysis conducted on the SDK itself

No PoC is supplied for this issue ​

No mitigations are supplied for this issue

< Back