Executive brief
open62541 is a widely-used OPC UA protocol library that industrial systems, gateways, and diagnostic tools use to connect to manufacturing and infrastructure equipment. A malicious or compromised OPC UA server can trigger an out-of-bounds memory read in a client library function that retrieves node class attributes, causing the client process to crash and denying service to critical operational components.
Technical details
The vulnerability is a heap-buffer-overflow in the __Client_readAttribute() function in src/client/ua_client_highlevel.c when reading the UA_ATTRIBUTEID_NODECLASS attribute. The vulnerable code performs a fixed 4-byte memcpy from res->value.data without validating that the server returned the expected NodeClass type; it skips the scalar-type validation checks applied to other attributes. A malicious server responding to a Read(NodeClass) request with a Boolean-typed Variant (memSize=1) instead triggers a 4-byte out-of-bounds heap read. The attack is reachable through standard OPC UA TCP negotiation and does not require special authentication. Impact is confirmed remote denial of service of client applications.
Affected products
- open62541 open62541 1.5.5
Timeline
- 2026-08-04: disclosed