CVE-2026-95860

Source
https://cve.org/CVERecord?id=CVE-2026-95860
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-95860.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-95860
Aliases
  • GHSA-xggf-m53x-jc3f
Published
2026-11-03T20:11:38Z
Modified
2026-11-05T03:31:25Z
Severity
  • 9.1 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N CVSS Calculator
Summary
node-opcua: Namespace-Level RBAC Fail-Open - Anonymous Write/Call Bypass via Unbound `DefaultRolePermissions
Details

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.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-1188",
        "CWE-285",
        "CWE-636",
        "CWE-863"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/95xxx/CVE-2026-95860.json"
}
References

Affected packages

Git / github.com/node-opcua/node-opcua

Affected ranges

Type
GIT
Repo
https://github.com/node-opcua/node-opcua
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "2.42.0"
                },
                {
                    "fixed": "2.180.0"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        },
        {
            "range": [
                {
                    "fixed": "0261e873900800983c622e01120f484dc6063698"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "original_tag": "v2.180.0",
            "range": [
                {
                    "fixed": "11ad1e0894355cd279e19443c6c9a4fc090e7d7a"
                }
            ],
            "source": "REFERENCES_TAG"
        }
    ]
}

Affected versions

v2.*
v2.100.0
v2.101.0
v2.102.0
v2.103.0
v2.104.0
v2.105.0
v2.105.1
v2.106.0
v2.107.0
v2.108.0
v2.109.0
v2.110.0
v2.111.0
v2.112.0
v2.113.0
v2.114.0
v2.115.0
v2.116.0
v2.117.0
v2.118.0
v2.119.0
v2.119.1
v2.119.2
v2.120.0
v2.121.0
v2.122.0
v2.123.0
v2.124.0
v2.125.0
v2.126.0
v2.127.0
v2.127.1
v2.128.0
v2.129.0
v2.130.0
v2.131.0
v2.132.0
v2.133.0
v2.134.0
v2.135.0
v2.136.0
v2.137.0
v2.138.0
v2.138.1
v2.139.0
v2.140.0
v2.141.0
v2.142.0
v2.143.0
v2.144.0
v2.145.0
v2.146.0
v2.147.0
v2.148.0
v2.149.0
v2.150.0
v2.151.0
v2.152.0
v2.153.0
v2.154.0
v2.155.0
v2.156.0
v2.157.0
v2.158.0
v2.159.0
v2.160.0
v2.161.0
v2.162.0
v2.163.0
v2.163.1
v2.164.0
v2.164.1
v2.164.2
v2.165.0
v2.165.1
v2.165.2
v2.166.0
v2.166.1
v2.167.0
v2.168.0
v2.169.0
v2.170.0
v2.170.1
v2.171.0
v2.172.0
v2.172.1
v2.173.0
v2.173.1
v2.174.0
v2.175.0
v2.175.1
v2.175.2
v2.175.3
v2.175.4
v2.175.5
v2.175.6
v2.176.0
v2.176.1
v2.176.2
v2.176.3
v2.177.0
v2.177.1
v2.178.0
v2.179.0
v2.42.0
v2.42.1
v2.42.2
v2.43.0
v2.44.0
v2.45.0
v2.46.0
v2.47.0
v2.49.0
v2.50.0
v2.51.0
v2.52.0
v2.55.0
v2.56.0
v2.56.1
v2.56.2
v2.56.3
v2.57.0
v2.58.0
v2.59.0
v2.59.1
v2.60.0
v2.60.1
v2.60.2
v2.61.0
v2.62.0
v2.62.1
v2.62.2
v2.62.3
v2.62.4
v2.62.5
v2.62.6
v2.62.7
v2.63.0
v2.63.1
v2.63.2
v2.64.0
v2.64.1
v2.65.0
v2.65.1
v2.66.0
v2.66.1
v2.66.2
v2.66.3
v2.67.0
v2.68.0
v2.68.1
v2.69.0
v2.69.1
v2.70.0
v2.70.1
v2.70.2
v2.70.3
v2.71.0
v2.72.0
v2.72.1
v2.72.2
v2.73.0
v2.73.1
v2.74.0
v2.75.0
v2.76.0
v2.76.1
v2.76.2
v2.77.0
v2.78.0
v2.79.0
v2.79.1
v2.80.0
v2.80.1
v2.81.0
v2.82.0
v2.83.0
v2.84.0
v2.85.0
v2.86.0
v2.86.1
v2.87.0
v2.88.0
v2.89.0
v2.90.0
v2.90.1
v2.91.0
v2.91.1
v2.92.0
v2.93.0
v2.94.0
v2.95.0
v2.96.0
v2.97.0
v2.98.0
v2.98.1
v2.98.2
v2.99.0
v2.99.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-95860.json"