{"id":"CVE-2026-47697","summary":"Shelf has cross-organization IDOR: authenticated users could read/attach another workspace's assets, tags, custodians, bookings, QR codes and audit data","details":"Shelf is a platform for tracking physical assets. Shelf is multi-tenant; data is isolated per organization (workspace). Prior to version 1.20.2, several endpoints accepted entity IDs from request input and `connect`-ed / read / updated them without verifying the IDs belonged to the caller's organization. An authenticated user in Org A who knew or obtained an ID belonging to Org B could act on Org B's data across organization boundaries (a cross-tenant IDOR). A loader-only restriction on personal-workspace bookings was also bypassable via a crafted POST. Version 1.20.2 patches the issue. No known workarounds are available.","aliases":["GHSA-r46p-gfrp-xxgq"],"modified":"2026-07-25T03:56:43.460891870Z","published":"2026-07-21T20:53:19.260Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47697.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-863"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47697.json"},{"type":"ADVISORY","url":"https://github.com/Shelf-nu/shelf.nu/security/advisories/GHSA-r46p-gfrp-xxgq"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47697"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/shelf-nu/shelf.nu","events":[{"introduced":"0"},{"fixed":"09d677d5a2a9ddacb3f12e734e78fa2de17ccd96"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0"},{"fixed":"1.20.2"}]}}],"versions":["shelf@1.20.1","shelf@1.20.0","shelf@1.19.0","shelf@1.18.6","shelf@1.18.5","shelf@1.18.4","shelf@1.18.3","shelf@1.18.2","shelf@1.18.1","shelf@1.18.0","shelf@1.17.2","shelf@1.17.1","shelf@1.17.0","shelf@1.16.4","shelf@1.16.3","shelf@1.16.2","shelf@1.16.1","shelf@1.16.0","shelf@1.15.1","shelf@1.15.0","shelf@1.14.3","shelf@1.14.2","shelf@1.14.1","shelf@1.14.0","shelf@1.13.1","shelf@1.13.0","shelf@1.12.6","shelf@1.12.5","shelf@1.12.4","shelf@1.12.3","shelf@1.12.2","shelf@1.12.1","shelf@1.12","shelf@1.11.5","shelf@1.11.4","shelf@1.11.3","shelf@1.11.2","shelf@1.11.1","shelf@1.11.0","shelf@1.10.10","shelf@1.10.9","shelf@1.10.8","shelf@1.10.7","shelf@1.10.6","shelf@1.10.5","shelf@1.10.4","shelf@1.10.3","shelf@1.10.2","shelf@1.10.1","shelf@1.9.2","shelf@1.9.1","shelf@1.9.0","shelf@1.8.2","shelf@1.8.1","shelf@1.8.0","shelf@1.7.3","shelf@1.7.2","shelf@1.7.1","shelf@1.7.0","shelf@1.6.2","shelf@1.6.1","shelf@1.6.0","shelf@1.5.4","shelf@1.5.3","shelf@1.5.2","shelf@1.5.1","shelf@1.5.0","shelf@1.4.1","shelf@1.4.0","shelf@1.3.1","shelf@1.3.0","shelf@1.2.10","shelf@1.2.9","shelf@1.2.8","shelf@1.2.7","shelf@1.2.6","shelf@1.2.5","shelf@1.2.4","shelf@1.2.3","shelf@1.2.2","shelf@1.2.1","shelf@1.1.2","shelf@1.2.0","shelf@1.1.1","shelf@1.1.0","shelf@1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-47697.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N"}]}