Skip to main content

Shelf CVE-2026-47697

| EUVDEUVD-2026-46425 HIGH
Incorrect Authorization (CWE-863)
2026-07-21 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI
7.1 HIGH

Any authenticated tenant user (PR:L) can remotely and without interaction access foreign-org data via known IDs; high confidentiality, limited integrity from cross-tenant updates, no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

3
Patch available
Jul 21, 2026 - 23:36 EUVD
Analysis Generated
Jul 21, 2026 - 21:39 vuln.today
CVE Published
Jul 21, 2026 - 20:53 cve.org
HIGH 7.1

DescriptionCVE.org

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.

AnalysisAI

Cross-tenant IDOR (broken authorization) in Shelf (shelf.nu) asset-tracking platform before version 1.20.2 allows an authenticated user in one organization to read, update, or connect records belonging to a different organization by supplying entity IDs that are never validated against the caller's workspace. Because Shelf is multi-tenant with per-organization data isolation, this breaks the core tenant boundary; a low-privilege user in Org A who learns or guesses an ID from Org B can act on Org B's data, and a loader-only restriction on personal-workspace bookings is bypassable via a crafted POST. No public exploit identified at time of analysis and the issue is not on CISA KEV, but the flaw is straightforward to abuse once a foreign ID is known.

Technical ContextAI

Shelf.nu is an open-source, multi-tenant asset/inventory management platform (a Remix-style web app using Prisma-like connect relations) where every record is scoped to an organization (workspace). The root cause is CWE-863 (Incorrect Authorization): several endpoints accept entity IDs directly from request input and then connect, read, or update those entities without checking that the ID belongs to the authenticated user's organization. Authorization was partly enforced only at the loader (GET/data-loading) layer, so state-changing action handlers reached via crafted POST requests skipped the ownership check entirely - a classic missing object-level access control (IDOR) on top of an authentication-vs-authorization gap.

RemediationAI

Vendor-released patch: upgrade to Shelf 1.20.2, which adds organization-ownership validation on the affected endpoints; no workarounds are available per the vendor advisory. Self-hosted operators should pull and deploy 1.20.2 (or later) immediately and, until upgraded, can reduce exposure by limiting who can create accounts/join workspaces on shared instances and by monitoring application logs for requests referencing IDs outside a user's own organization - recognizing this is only detection, not prevention, since the loader-only check is bypassable by direct POST. Because IDs may be enumerable, treat any period of pre-patch multi-tenant operation as potential cross-tenant exposure and review audit logs for anomalous cross-org access. See GHSA-r46p-gfrp-xxgq (https://github.com/Shelf-nu/shelf.nu/security/advisories/GHSA-r46p-gfrp-xxgq).

Share

CVE-2026-47697 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy