CVE-2026-11946: open62541 Memory Exhaustion via GetEndpoints Discovery Service
open62541, an OPC UA implementation, contains a flaw in its GetEndpoints Discovery Service that allows any network attacker to crash the server by consuming its memory. The vulnerability exists because the service doesn't validate how large a string an attacker claims to send—an attacker can declare they're sending up to 4 GB of data and never finish sending it, causing the server to hold onto that reserved memory indefinitely. This happens before any secure connection is established, meaning it bypasses encryption and doesn't require a valid user account.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-770, CWE-789
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-02 / 2026-07-02
NVD description (verbatim)
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.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-11946 is a memory exhaustion vulnerability in open62541's GetEndpoints Discovery Service. The vulnerability stems from insufficient validation of the endpointUrl field in GetEndpointsRequest messages. An attacker exploits the OPC UA binary protocol's chunking mechanism by declaring an arbitrarily large string length (up to the UInt32 maximum of approximately 4.09 GB) in the message header while delivering only partial chunks. The server allocates and buffers memory for the declared message size but never receives the final chunk to complete or abandon the transmission. The incomplete message persists in memory until the SecureChannel timeout occurs—potentially minutes of sustained memory consumption per connection. Because this occurs at the pre-session stage of the OPC UA handshake, no authentication is required and encryption configuration is irrelevant. An attacker can open multiple concurrent connections to amplify the denial-of-service impact.
Business impact
Availability disruption is the primary business risk. Affected open62541 deployments used in industrial control systems, building automation, or enterprise OPC UA networks can be rendered unresponsive or crash when memory is exhausted. Industrial environments are particularly sensitive: a manufacturing facility, utility control system, or critical infrastructure relying on OPC UA for real-time monitoring could experience production halts or safety-critical failures if the OPC UA server becomes unavailable. Unlike vulnerabilities requiring authentication or complex exploitation chains, this attack is trivial to execute remotely without specialized tools, making it a realistic threat in any environment exposing an open62541 server to untrusted networks.
Affected systems
open62541 versions 1.4.0 through 1.4.16, versions 1.5.0 through 1.5.4, and the master development branch are affected. open62541 is commonly embedded in industrial devices, building management systems, and enterprise software that implements the OPC UA (Open Platform Communications Unified Architecture) standard. Any organization running vulnerable versions—whether as a standalone server or as part of a larger product—should treat this as a critical inventory gap requiring immediate attention.
Exploitability
This vulnerability is highly exploitable with minimal barriers to attack. No authentication is required; the GetEndpoints service is typically accessible before any credentials are exchanged. No user interaction or special client configuration is needed—a basic OPC UA client or custom script suffices. Network accessibility is the only prerequisite: if the open62541 server is reachable on the network (typically TCP port 4840 or a configured alternative), it is vulnerable. The attack requires no special privileges and no technical sophistication beyond crafting a malformed OPC UA message. An attacker can sustain the attack using multiple parallel connections to accelerate memory depletion, making mitigation through simple rate-limiting insufficient without a code-level fix.
Remediation
The primary remediation is to upgrade open62541 to a patched version once available from the project maintainers. Organizations should verify the vendor advisory for specific version recommendations. Until a patch is applied, network segmentation is critical: restrict network access to the OPC UA server to only trusted clients and networks. Implement firewall rules that limit connections to the OPC UA port from known, authorized sources. Monitor SecureChannel connection lifecycle and memory consumption; configure aggressive timeout policies to reduce the window during which buffered chunks persist. These mitigations reduce—but do not eliminate—risk without a code fix.
Patch guidance
Monitor the open62541 GitHub repository and official security advisories for patched versions. When updates are released, prioritize deployment in order of network exposure: internet-facing servers first, then those on untrusted or shared networks. Test patches in a non-production environment to confirm compatibility with dependent applications. After patching, verify that the GetEndpoints service correctly rejects oversized or malformed requests and does not buffer unbounded message lengths.
Detection guidance
Monitor for abnormal patterns indicative of exploitation: sustained high memory usage coinciding with OPC UA server activity; rapid creation and timeout of OPC UA SecureChannels without successful session establishment; repeated requests to the GetEndpoints service from the same or multiple sources; and error logs indicating message parsing failures or premature channel closures. Network-based detection is limited due to the early protocol stage, but packet inspection for GetEndpointsRequest messages with declared string lengths vastly exceeding typical endpoint URLs may flag suspicious activity. Establish baseline memory and connection metrics for your open62541 deployment to make deviations conspicuous.
Why prioritize this
This vulnerability warrants high-priority remediation despite the lack of current KEV listing. The combination of effortless exploitability, no authentication requirement, pre-session attack surface, high denial-of-service impact, and the breadth of OPC UA deployment in critical infrastructure creates substantial risk. The CVSS 7.5 HIGH rating reflects the severity of availability impact. Organizations should treat patching as urgent unless the affected server is isolated on a fully trusted, air-gapped network.
Risk score, explained
The CVSS 3.1 score of 7.5 (HIGH) reflects a network-accessible attack vector requiring no privileges or user interaction, but with impact limited to availability. The lack of integrity or confidentiality compromise prevents a critical rating. However, the real-world risk may exceed this numerical score for organizations where OPC UA service availability is business-critical or safety-critical; in those contexts, availability loss directly translates to operational and potentially physical consequences.
Frequently asked questions
Can this vulnerability be exploited if the OPC UA server is behind a firewall or on a private network?
Yes. If the server is accessible from any untrusted network segment—including a corporate network where workstations are not fully isolated—the vulnerability can be exploited. The attacker does not need external internet access; they need only network visibility to the OPC UA port. Air-gapped, fully isolated environments are safe.
Does applying a firewall rate limit or connection limit mitigate this attack?
Rate limiting and connection caps reduce the speed and scale of exploitation but do not prevent it. A determined attacker can still exhaust memory using a single persistent connection by declaring and partially sending an enormous message. A code-level patch that validates message size is the only complete mitigation.
Is there a way to detect if our open62541 server has been exploited?
Exploitation would typically manifest as abnormal memory growth, server lag, or eventual crashes. If you observe these symptoms correlated with OPC UA activity, capture network traffic and review SecureChannel logs for failed or incomplete message transfers. However, absence of these symptoms does not prove non-exploitation if the server has sufficient free memory.
Do all OPC UA products use open62541, or is this vulnerability specific to certain applications?
open62541 is one implementation of OPC UA; many commercial and open-source OPC UA stacks exist independently. This vulnerability affects only products that directly embed the open62541 library. Consult your product vendor to determine if your OPC UA server uses open62541.
This analysis is based on vulnerability information published as of the date listed and may not reflect subsequent vendor updates, patches, or additional technical details. Organizations should verify patch availability and compatibility against official vendor advisories before applying updates. The described attack techniques are provided for defensive planning only and should not be used for unauthorized testing. SEC.co makes no warranty regarding the completeness or accuracy of this analysis and recommends independent security assessment of your specific environment. Source: NVD (public-domain), retrieved 2026-08-11. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-33592HIGHopen62541 OPC UA Denial of Service via Unbuffered FindServersRequest
- CVE-2026-40006HIGHApache IoTDB Unauthenticated Memory Exhaustion Denial of Service
- CVE-2026-54448MEDIUMTrivy Helm Chart Denial-of-Service – Zip Bomb Vulnerability
- CVE-2023-54365HIGHTraefik HTTP/2 Denial of Service Vulnerability – Rapid Reset Attack
- CVE-2025-46638HIGHDell BSAFE SSL-J Resource Exhaustion DoS Vulnerability
- CVE-2025-61028HIGHOpenLink Virtuoso DoS Vulnerability in time_t_to_dt Component
- CVE-2025-7737HIGHHitachi VSP iSCSI DoS Vulnerability – Patch Guide
- CVE-2026-10142HIGHkafka-python Denial-of-Service in Protocol Parser