# CVE-2026-18785: open62541 client stack overflow in UA_Client_getRemoteDataTypes

Source: https://junglewise.ai/threats/cve-2026-18785-open62541-client-stack-overflow-in-ua-client-getremotedatatypes  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-04. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-18785 · Severity: medium · CVSS 5.3 · Published 2026-08-04

open62541 is an open-source OPC UA protocol implementation used in industrial control systems and IoT devices for real-time data exchange. A malicious or compromised OPC UA server can crash a client application by sending a specially crafted sequence of data-type definitions that causes unbounded recursion and stack exhaustion, resulting in a denial of service and potentially disrupting critical operations that depend on the client.

## Quick answers

**Is CVE-2026-18785 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-18785 being exploited in the wild.

**How severe is CVE-2026-18785?** Medium severity, with a CVSS score of 5.3, published 4 August 2026.

**Which products and versions are affected?** open62541 open62541 commit ca356b088ada7dee824d1b4acd07c1ff07ce242b and later.

**Is there a fix for CVE-2026-18785?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-18785 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-18785?** Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a stack overflow caused by unbounded recursive traversal in the UA_Client_getRemoteDataTypes() function. When discovering remote custom data types, the code recursively walks the DataType→HasSubtype graph via the browseDataTypesRecursive() helper without enforcing any recursion-depth limit or work queue bounds. A malicious server can return an ever-growing sequence of previously unseen NodeIds in its Browse responses, bypassing the visited-node de-duplication check and forcing the client into infinite recursion. The vulnerability requires the client to call UA_Client_getRemoteDataTypes() after establishing a valid OPC UA session, and it is exploitable by any remote OPC UA server endpoint. The official example client examples/custom_datatype/client_types_custom.c is affected by default.

## Affected products

- open62541 open62541 commit ca356b088ada7dee824d1b4acd07c1ff07ce242b and later

## Timeline

- 2026-08-04: disclosed: CVE-2026-18785 published
- 2026-08-04: other: Advisory disclosed, project stated this is not an official security report channel

## References

- [https://github.com/gff-cw/information/issues/12](https://github.com/gff-cw/information/issues/12)
- [https://github.com/open62541/open62541/issues/8131](https://github.com/open62541/open62541/issues/8131)
