Saltar al contenido
CVE-2026-95860 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de autorización incorrecta en node-opcua: falla abierta del RBAC a nivel de espacio de nombres que permite escritura y llamadas anónimas mediante `DefaultRolePermissions` no vinculado

node-opcua · node-opcua · Publicada en CVE.org el 03-11-2026 · Última actualización: 09-11-2026

Descripción

node-opcua es una implementación de OPC UA para TypeScript y Node.js. Desde la versión 2.42.0 hasta la 2.180.0, el control de acceso a nivel de espacio de nombres configurado mediante setDefaultRolePermissions no es respetado por la ruta de aplicación en tiempo de ejecución para los nodos sin RolePermissions explícitos por nodo. SessionContext.getApplicableRolePermissions lee un valor de metadatos DefaultRolePermissions ausente o nulo en lugar del campo configurado del espacio de nombres, y el resultado nulo se trata de forma permisiva. En consecuencia, un cliente de red anónimo puede escribir variables con acceso CurrentWrite o llamar a métodos vinculados cuando un operador configuró un valor predeterminado restrictivo para el espacio de nombres y confió en la herencia. Los servidores sin una política declarada, los nodos con permisos explícitos por nodo y los metadatos del espacio de nombres vinculados correctamente de forma programática quedan fuera del caso de omisión de autorización. Este problema está corregido en la versión 2.180.0.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • node-opcua Afectadas: >= 2.42.0, < 2.180.0

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

node-opcua: Namespace-Level RBAC Fail-Open - Anonymous Write/Call Bypass via Unbound `DefaultRolePermissions

node-opcua is an OPC UA implementation for TypeScript and Node.js. From 2.42.0 until 2.180.0, namespace-level access control configured through setDefaultRolePermissions is not honored by the runtime enforcement path for nodes without explicit per-node RolePermissions. SessionContext.getApplicableRolePermissions reads a missing or null DefaultRolePermissions metadata value instead of the configured namespace field, and the null result is treated permissively. An anonymous network client can consequently write variables with CurrentWrite access or call bound methods when an operator configured a restrictive namespace default and relied on inheritance. Servers with no declared policy, nodes with explicit per-node permissions, and correctly bound programmatic namespace metadata are outside the authorization-bypass case. This issue is fixed in version 2.180.0.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia