CVE-2026-11946: GetEndpoints Memory Exhaustion in open62541
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
open62541to a version that resolves this vulnerability.Fixed in 1.4.16 - Upgrade
Upgrade
open62541to a version that resolves this vulnerability.Fixed in 1.5.4
Event History
Frequently Asked Questions
What is CVE-2026-11946?
CVE-2026-11946 is a vulnerability in open62541 that allows unauthenticated remote attackers to exhaust server memory via the GetEndpoints Discovery Service.
What is the severity of CVE-2026-11946?
The severity of CVE-2026-11946 is rated high, with a CVSS score of 7.5.
How do I fix CVE-2026-11946?
To fix CVE-2026-11946, validation of the length of the endpointUrl field in the GetEndpointsRequest should be implemented.
What types of attacks can exploit CVE-2026-11946?
CVE-2026-11946 can be exploited by attackers to launch denial-of-service attacks by consuming server memory.
Which software is affected by CVE-2026-11946?
The vulnerability CVE-2026-11946 affects the open62541 software implementation.