CVE-2026-11946
HighCVSS 7.5Summary
An unauthenticated remote attacker can exhaust server memory via the GetEndpoints Discovery Service in open62541. The endpointUrl field of GetEndpointsRequest is not validated for length, allowing an arbitrarily large string (up to ~4.09 GB) to be declared and delivered across intermediate chunks without ever sending the final chunk. The server buffers all chunks in RAM indefinitely until the SecureChannel times out.
Risk Assessment
The attack can lead to server memory exhaustion, causing a denial of service (DoS) and disrupting industrial systems or critical infrastructure. Since the attack is pre-session and bypasses all encryption configurations, it is particularly dangerous for production environments.
Recommendation
Immediately update open62541 to version 1.4.17, 1.5.5, or later, which includes validation of the endpointUrl field length. If an update is not possible, restrict access to the OPC UA server to trusted networks only using a firewall.
Other vulnerabilities in open62541
See all- CVE-2026-15690Low
A vulnerability was found in open62541 up to version 1.5.5, affecting the function responseReadNamespacesArray in src/client/ua_client_connect.c. Manipulation of the Server_NamespaceArray argument causes a null pointer dereference, potentially leading to application crashes. The attack can be executed remotely but requires high complexity and is difficult to exploit.
- CVE-2026-67870Critical
In open62541 v1.5.5, the server-side AddReferences implementation contains an incomplete validation flaw for non-local ExpandedNodeId targets. A remote attacker can send a crafted AddReferencesRequest with an empty targetServerUri and a non-zero targetNodeId.serverIndex, causing the target node pointer to remain NULL while execution continues.
- CVE-2026-67869High
Buffer Overflow vulnerability in open62541 v1.5.5 allows a remote attacker to cause a denial of service via the Service_Call, which validates input arguments against runtime-resolved InputArguments metadata.
- CVE-2026-67863High
In open62541 1.5.5, a server-side use-after-free exists in the local MonitoredItem callback path. The issue occurs when UA_Subscription_localPublish continues to use the current UA_Notification after a callback invokes UA_Server_deleteMonitoredItem for the current local MonitoredItem. This allows a remote attacker to cause a denial of service.
- CVE-2026-67864High
An issue in open62541 v.1.5.5 and before allows a remote attacker to cause a denial of service via the NodeManagement type-instantiation logic component.
- CVE-2026-67862High
open62541 1.5.5 contains a buffer-overflow in the high-level attribute reading logic in src/client/ua_client_highlevel.c. This allows a remote attacker to cause a denial of service.
- CVE-2026-67861High
An issue in open62541 v.1.5.5 and before allows a remote attacker to cause a denial of service via the UA_Client_getRemoteDataTypes component.
- CVE-2026-67860High
open62541 version 1.5.5 contains a heap-based buffer overflow in the default HistoryRead path when the default history database is used with the memory backend.
- CVE-2026-67859High
Buffer overflow vulnerability in open62541 v1.5.5 allows a remote attacker to cause a denial of service via Discovery/LDS handling.
- CVE-2026-67858High
Buffer overflow vulnerability in open62541 1.5.5 when the Local Discovery Server (LDS) is built with multicast discovery enabled through the MDNSD backend. An unauthenticated remote attacker can send a RegisterServer or RegisterServer2 request containing many unique discoveryUrls, causing a denial of service.
Original NVD description (English source)
An unauthenticated remote attacker can exhaust server memory via the GetEndpoints Discovery Service in open62541. The endpointUrl field of GetEndpointsRequest is not validated for length. An attacker can declare an arbitrarily large string (up to ~4.09 GB via the UInt32 length field) delivered across intermediate chunks without ever sending the final chunk. The server buffers all chunks in RAM indefinitely until the SecureChannel times out. The attack is pre-session and bypasses all encryption configurations. The issue affects open62541: from 1.4.0 through 1.4.16, from 1.5.0 through 1.5.4, master.

