CVSS 9.9 CRITICAL Truy cập trái phép

obsidian-tc tokens can access arbitrary configured vaults

Mã khác
GHSA-84c9-qqpq-2pq5
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory

Mô tả

Impact

Tool dispatch did not check the caller-supplied input.vault against the caller's bound vault (ctx.vaultId); the folder ACL was a single global instance and the JWT carried no vault claim. As a result, any valid token could read, write, or delete any configured vault by passing input.vault, defeating multi-tenant isolation across ~90 tool sites. (resources/read was the only surface that already guarded this.)

Patches

Fixed in 1.3.1 (the fix was developed on the v1.3.0 tag, which never published to npm; 1.3.1 is the first published release with the fix). Upgrade to >= 1.3.1.

Workarounds

Run a single vault per server process, or isolate each tenant on a separate process/credential.

Fix

A central input.vault === ctx.vaultId guard was added in dispatch before the scope check.

Điểm và phân loại

CVSS
9.9 CRITICAL v3.1
Nguồn điểm
GitHub Advisory
Mức độ (theo nguồn)
CRITICAL
EPSS
0.31%

Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
npm obsidian-tc < 1.3.1 1.3.1

Vì sao được giữ

  • CVSS 9.9 >= 8.0

Loại tác động

Truy cập trái phép
CWE-639; CWE-863

Tham khảo