Read the docs
TI-2026-39065 Aliases CVE-2026-54155GHSA-mq36-523m-x7vv

node-opcua: Missing nonce verification in UserNameIdentityToken authentication

Priority LOW 36CWE-347Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-347.

Summary

node-opcua is an OPC UA implementation for TypeScript and Node.js. Prior to 2.166.0, the UserNameIdentityToken authentication handler in packages/node-opcua-server/source/opcua_server.ts decrypts an RSA-OAEP password blob but does not verify that the trailing bytes match the current session serverNonce. An unauthenticated remote attacker can obtain the server public key through GetEndpoints and forge a blob whose little-endian length produces an empty password passed to isValidUser, compromising accounts that accept an empty password. Missing nonce binding also allows a captured UserNameIdentityToken ciphertext to be replayed in another session, and SecurityMode=None removes the separate client-signature safeguard. This issue is fixed in version 2.166.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00424 36th percentileScored 2026-11-07
Fix Fixed node-opcua (node-opcua): 2.166.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
node-opcuanode-opcuabefore 2.166.02.166.0Patch availableCNA
—node-opcua (npm)up to 2.165.0—No fix listedGHSA-mq36-523m-x7vv
  • node-opcua Vendornode-opcua Affected before 2.166.0 Fixed in 2.166.0 Patch available CNA
  • node-opcua (npm) Vendor— Affected up to 2.165.0 Fixed in — No fix listed GHSA-mq36-523m-x7vv

Remediation

  • Fix · CNA node-opcua (node-opcua) Fixed in 2.166.0

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54155
  2. 2026-10-03 Alias added: GHSA-mq36-523m-x7vv

References

  • TI-2026-84561 Authorization bypass in node-opcua lets anonymous clients write CVSS 3.1CRITICAL 9.1
  • TI-2026-48544 node-opcua: Prototype Pollution via internal `fieldsToJson()` implementation (Related to CVE-2024-57086) CVSS 3.1LOW 3.7
  • TI-2026-39066 node-opcua: Unbounded nonce cache enables unauthenticated heap exhaustion DoS CVSS 3.1HIGH 7.5
  • TI-2026-48457 node-opcua: TCP Socket Leak (FIN-WAIT-2) via keepalive reconnection cycle - Resource Exhaustion CVSS 3.1HIGH 7.0

Sources