Key takeaways
- Check the negotiated SecurityPolicy and MessageSecurityMode on every OPC UA endpoint you operate, not just whether the product "supports" security.
OPC UA (OPC Unified Architecture, standardized as IEC 62541) is unusual among OT/ICS protocols for a specific reason: its own specification treats security as a core design objective, with defined authentication, message-signing and encryption modes — not a bolt-on add-on specification the way Modbus and DNP3 treat their security options. And yet CISA keeps publishing critical OPC UA advisories, and CISA's own 2026 research found most OT operators still aren't turning the built-in security on. Both things are true at once, and understanding why is the difference between picking OPC UA because "it's the secure one" and actually operating it securely.
What OPC UA's own spec actually requires
Per OPC 10000-2 ("OPC Unified Architecture — Part 2: Security Model"), Section 4.2 defines six security objectives the protocol is designed around: Authentication ("Entities such as Clients, Servers, and users should prove their identities"), Authorization ("The access to read, write, or execute resources should be authorized for only those entities that have a need for that access"), Confidentiality ("Data is protected from passive attacks such as eavesdropping, whether the data is being transmitted, in memory, or being stored"), Integrity ("Receivers receive the same information that the original sender sent, without the data being changed during transmission"), Auditability, and Availability. Section 4.8 operationalizes these into a MessageSecurityMode every session negotiates: None, Sign, or SignAndEncrypt. A companion specification, Part 7, defines the actual SecurityPolicy URIs (cryptographic algorithm suites) a server and client can agree on. This is a meaningfully different starting point from a protocol like Modbus, whose base Application Protocol specification has no equivalent section at all — see Modbus protocol security: why it has none for that comparison in full.
Where the built-in security still fails: implementation bugs, not design gaps
A security model in the spec only protects a deployment if the code implementing it is itself correct, and OPC UA stacks have had the same class of memory-safety findings that affect any protocol parser handling untrusted network input:
| Advisory | Product | CVE(s) | CVSS | What it actually allowed |
|---|---|---|---|---|
| ICSA-22-242-10 (30 Aug 2022) | PTC Kepware KEPServerEX (also OEM'd as Rockwell KEPServer Enterprise, GE Digital Industrial Gateway Server, Software Toolbox TOP Server) | CVE-2022-2825, CVE-2022-2848 | 9.8, 9.1 | Specifically crafted OPC UA messages could crash the server and, for the stack-based overflow, remotely execute code |
| ICSA-26-211-08 (30 Jul 2026) | open62541 (open-source OPC UA stack, o6 Automation GmbH; versions 1.3.0–1.3.17, 1.4.0–1.4.16, 1.5.0–1.5.4 and master) | CVE-2026-63362, CVE-2026-65423, CVE-2026-63035, CVE-2026-63559 | up to 8.8 (v3.1) / 8.7 (v4.0) | Remote denial of service via crafted PubSub UDP packet, out-of-bounds write via integer overflow, and an authenticated use-after-free able to cause DoS or arbitrary code execution |
Both advisories describe bugs that run inside the message-parsing and service-dispatch code, which in some cases executes before — or independent of — whether a session negotiated Sign, SignAndEncrypt, or authenticated with a valid certificate at all. A correctly configured security policy narrows who can reach that code; it does not patch the code itself. OPC UA's own published advisory history (which the OPC Foundation indexes on its security page, alongside the German BSI's 2017 and 2022 independent security analyses of the open62541 implementation, and Kaspersky Labs' 2017 disclosure of 17 zero-day vulnerabilities across OPC Foundation-adjacent code) is long enough that treating "we use OPC UA" as a security property on its own is a mistake — the protocol's security model is only as good as the specific stack's patch level.
Where it actually fails more often: security turned off by default or by choice
CISA's 10 February 2026 report "Barriers to Secure OT Communication: Why Johnny Can't Authenticate" — developed with contributions the OPC Foundation itself confirms, alongside Anybus, the DNP Users Group, NSA, ODVA, Rockwell Automation, Schneider Electric, the Modbus Organization and Xylem — is CISA's own attempt to answer why secure protocol options that have existed for two decades still see minimal real-world adoption. This guide's fetch tooling could not render the CISA PDF as extractable text; the summary below is drawn from the OPC Foundation's own confirmation of its contribution and publication date, cross-checked against secondary industry reporting this guide's tooling also could not independently re-fetch as static text. Treat specific wording as paraphrase, not verbatim quotation, until checked against CISA's own PDF. With that caveat, the research reportedly groups adoption barriers into cost (PKI procurement and ongoing certificate maintenance), availability fears (operators unwilling to risk latency or downtime by turning on signing or encryption on a running system), and PKI complexity (provisioning and lifecycle-managing certificates on field devices that were never designed to be re-keyed). For OPC UA specifically, this plays out as servers and clients that fully support SignAndEncrypt and certificate-based authentication shipping, and staying, on SecurityPolicy: None — a configuration the spec allows precisely so a server can be stood up without cryptography, not a flaw in the protocol.
A workable starting point
Check the negotiated SecurityPolicy and MessageSecurityMode on every OPC UA endpoint you operate, not just whether the product "supports" security Noneis a valid, spec-defined configuration state — and a common default — not something you can assume is off.Patch the stack, separately from configuring the policyThe Kepware and open62541 CVEs above are implementation bugs that a correctly set SignAndEncryptpolicy does not, by itself, fix.Treat certificate lifecycle as an operational process, not a one-time setup stepOPC UA's authentication model depends on X.509 certificates staying valid, trusted and properly rotated — an expired or improperly validated chain silently degrades the same security the spec provides. Budget for PKI, deliberately, rather than letting cost be the reason security stays offCISA's own research points at procurement and lifecycle cost as a leading reason operators don't enable OPC UA's security — naming that cost during procurement, rather than discovering it during an incident, is the cheaper path. Segment regardless of what OPC UA is configured to doThe Purdue Model for OT/ICS network architecture and NIST SP 800-82's OT security controls remain the compensating layer for any stack-level bug a protocol's own security model cannot anticipate.
OPC UA getting the authentication and encryption objectives into its own specification is real progress over protocols like Modbus and classic OPC DA that never attempted it — but CISA's advisory record shows that progress only pays off when the specific stack is patched and the security policy is actually turned on, and CISA's own 2026 research says that second part is still the exception rather than the rule across OT deployments. SoftWSP's OT Snapshot builds a passive, factual picture of what's actually talking OPC UA on a shop floor — and what security policy it's negotiating — from a mirror port, without touching production traffic: see OT Snapshot.
This guide draws on the OPC Foundation's own published Part 2 specification text (fetched directly), CISA's published ICS advisories (fetched directly), and the OPC Foundation's own security-advisories page describing its contribution to CISA's 2026 report, cross-checked against secondary industry reporting where a primary PDF could not be rendered as extractable text. This guide is not a substitute for the OPC Foundation's own specifications, CISA's own advisories and reports, or an engineer's assessment of a specific deployment's configuration and patch level.
Sources
- OPC Foundation / OPC-10000-2: OPC Unified Architecture — Part 2: Security Model (reference.opcfoundation.org, v1.05.06)
- CISA ICS Advisory ICSA-22-242-10: PTC Kepware KEPServerEX (30 August 2022, updated 8 September 2022; CVE-2022-2825, CVE-2022-2848)
- CISA ICS Advisory ICSA-26-211-08: o6 Automation open62541 (30 July 2026; CVE-2026-63362, CVE-2026-65423, CVE-2026-63035, CVE-2026-63559)
- OPC Foundation: Security (advisories index, BSI OPC UA security analyses, Kaspersky Labs 2017 findings, and CISA's Barriers to Secure OT Communication contribution)
- CISA: Barriers to Secure OT Communication: Why Johnny Can't Authenticate (10 February 2026)
Frequently asked questions
Does OPC UA actually have security built into the protocol, unlike Modbus?
Yes, and this is the single biggest architectural difference from legacy OT protocols. OPC UA's own Part 2 specification (OPC 10000-2, the Security Model) defines security as a first-class objective of the protocol, not an add-on: Section 4.2 lists Authentication ("Entities such as Clients, Servers, and users should prove their identities"), Authorization, Confidentiality ("Data is protected from passive attacks such as eavesdropping, whether the data is being transmitted, in memory, or being stored"), Integrity, Auditability and Availability as objectives the protocol is built to support. Section 4.8 defines three MessageSecurityMode values any OPC UA session negotiates: None, Sign, and SignAndEncrypt. This is a genuinely different starting point from Modbus or classic OPC DA (which inherited Microsoft DCOM's security model and effectively none of its own) — see [Modbus protocol security](/guides/modbus-protocol-security-ot-ics/) for the contrast with a protocol that has no equivalent objectives in its specification at all.
If the security is built in, why does CISA keep publishing OPC UA vulnerability advisories?
Because having a security model in the specification does not mean every implementation gets it right, and does not mean every deployment turns it on. CISA's advisory ICSA-22-242-10 (30 August 2022, updated 8 September 2022) covers PTC's Kepware KEPServerEX — an OPC UA server embedded, white-labeled or OEM'd into Rockwell Automation's KEPServer Enterprise, GE Digital's Industrial Gateway Server, Software Toolbox's TOP Server and ThingWorx products — and assigns CVE-2022-2825 (CVSS v3 base score 9.8, CWE-121 Stack-based Buffer Overflow) to a finding that "specifically crafted OPC UA messages transmitted to the server could allow an attacker to crash the server and remotely execute code," plus CVE-2022-2848 (CVSS v3 9.1, CWE-122 Heap-based Buffer Overflow) for a related crash-and-data-leak finding. More recently, CISA's advisory ICSA-26-211-08 (30 July 2026) covers four vulnerabilities in open62541 — the widely embedded open-source OPC UA stack maintained by o6 Automation GmbH — including CVE-2026-65423 (integer overflow in variant array-dimension handling, CVSS v3.1 8.8 / CVSS v4.0 8.7, CWE-190) described as able to "trigger an out-of-bounds write," and CVE-2026-63035 (heap use-after-free in the TransferSubscriptions service, CVSS v3.1 8.1, CWE-416) that "may allow an authenticated attacker to cause a denial of service or potentially execute arbitrary code." None of these are failures of the OPC UA security *model* — they are memory-safety bugs in specific stack implementations, the same class of defect that affects any sufficiently complex parser regardless of what the protocol spec says about authentication.
Why would anyone deploy OPC UA without turning its security on?
CISA's own 2026 research into this question, published jointly with the OPC Foundation and other protocol maintainers, found the barrier isn't awareness — it's practical deployment friction. The report "Barriers to Secure OT Communication: Why Johnny Can't Authenticate" (CISA, 10 February 2026; the OPC Foundation lists itself alongside Anybus, the DNP Users Group, NSA, ODVA, Rockwell Automation, Schneider Electric and the Modbus Organization as a contributor) is based on CISA's own interviews with OT asset owners and operators across water/wastewater, transportation, chemical, energy and food-and-agriculture sectors. *A sourcing note: this guide's fetch tooling could not render the CISA PDF itself as extractable text; the findings below are drawn from the OPC Foundation's own published confirmation that it contributed to the report and its stated publication date, cross-checked against secondary industry reporting (Automation.com, Industrial Cyber) that this guide's tooling also could not independently re-verify as static text. Treat the specific framing below as a good-faith summary, not a verbatim quotation, until checked against CISA's own PDF.* With that caveat, the research reportedly groups the barriers into three categories that line up closely with why a security policy of None remains common even on OPC UA deployments that fully support stronger options: cost (procurement, deployment and ongoing maintenance of a PKI), availability fears (operators worried that enabling signing or encryption will add latency or break uptime on a system with no appetite for unplanned downtime), and PKI complexity itself (certificate provisioning and lifecycle management on devices that were never designed to be re-keyed in the field).
What should an asset owner or device maker actually check when using OPC UA?
Three separate things, because "we use OPC UA" says nothing on its own about security posture. First, the negotiated SecurityPolicy and MessageSecurityMode for every endpoint — OPC UA's Part 7 profiles define a None policy specifically so a server can be stood up without any cryptography at all, and that policy remaining enabled (or being the default a device ships with) is a configuration choice, not a protocol limitation; CISA's and the OPC Foundation's own recurring guidance is to disable None wherever a client supports better. Second, the stack's patch level against known CVEs like those in Kepware KEPServerEX and open62541 above — a correctly configured SecurityPolicy does not protect against a memory-corruption bug in the message parser that runs before authentication is even checked. Third, certificate lifecycle: OPC UA's security model depends on X.509 certificate-based mutual authentication between client and server, which means an expired, self-signed, or improperly validated certificate chain can silently degrade the same security the protocol was designed to provide. See [NIST SP 800-82: OT security](/guides/nist-sp-800-82-ot-security/) for where this certificate and patch-management discipline sits inside a broader OT security program, and [the Purdue Model for OT/ICS network architecture](/guides/purdue-model-ot-ics-network-architecture/) for the segmentation that should still apply regardless of what an individual OPC UA endpoint is configured to do.
In this cluster


