Description
Wheels 4.0.0 through 4.1.2 before 4.2.0 replaces incoming scope conditions with a primary-key condition in findByKey() and exists(key=). For exists(key=), production with error information disabled returns true for an out-of-scope key instead of throwing. Applications relying on scopes for ownership or tenant authorization can therefore load and subsequently modify or delete another user's or tenant's record when the key comes from a request. The 4.2.0 fix combines key conditions with incoming scope, query-builder or where conditions in findByKey(), exists(key=), updateByKey() and deleteByKey(). Other scope-aware finders, aggregates, updateAll() and deleteAll() are not affected.
Published: 2026-10-16
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Authorization Bypass / Data Tampering
Action: Immediate Patch
AI Analysis

Impact

Wheels 4.x uses scope rules to restrict data operations to the owning tenant. The library replaces the incoming scope condition with a primary-key condition in the helper functions findByKey() and exists(key=). For exists(key=), when error information is disabled a request for a key that is outside the current scope will incorrectly return true instead of throwing an error. This allows an application that relies on these scope checks for tenant or ownership authorization to load, update, or delete a record belonging to another tenant or user. The flaw arises from improper handling of query conditions and is a classic example of an Authorization Bypass rooted in faulty input validation (CWE‑669).

Affected Systems

The Wheels library versions 4.0.0 through 4.1.2 are affected. Version 4.2.0 implements a fix that combines key conditions with the incoming scope, as well as updates related finders and mutator functions. No other scope‑aware methods are impacted.

Risk and Exploitability

The CVSS score of 8.1 indicates a high severity vulnerability. The EPSS score is < 1% (0.00278), indicating a very low exploitation probability, but this does not eliminate risk given the severe impact potential. The flaw is not listed in the CISA KEV catalog, suggesting no confirmed large‑scale attacks yet. The likely attack vector is a crafted request that supplies an out‑of‑scope key; the application accepts the result of exists(key=) or findByKey() and performs data operations without proper authorization checks. The 4.2.0 release resolves the issue by ensuring key constraints are enforced together with scope constraints.

Generated by OpenCVE AI on October 16, 2026 at 16:19 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Wheels 4.2.0 or later to apply the upstream fix.
  • Verify that the application has not directly exposed findByKey, exists, updateByKey or deleteByKey with untrusted input; consider adding an additional layer of tenant validation if upgrading cannot be performed immediately.
  • If a patch cannot be applied immediately, limit the use of get‑by‑key functions to internal services only and explicitly reject any key that does not belong to the current tenant in application logic.

Generated by OpenCVE AI on October 16, 2026 at 16:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 27 Oct 2026 04:30:00 +0000

Type Values Removed Values Added
First Time appeared Wheels
Wheels wheels
Vendors & Products Wheels
Wheels wheels

Fri, 16 Oct 2026 16:45:00 +0000

Type Values Removed Values Added
Title Privilege Escalation via Scope Bypass in Wheels Database Operations

Fri, 16 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
Title Privilege Escalation via Scope Bypass in Wheels Database Operations

Fri, 16 Oct 2026 04:00:00 +0000

Type Values Removed Values Added
Description Wheels 4.0.0 through 4.1.2 before 4.2.0 replaces incoming scope conditions with a primary-key condition in findByKey() and exists(key=). For exists(key=), production with error information disabled returns true for an out-of-scope key instead of throwing. Applications relying on scopes for ownership or tenant authorization can therefore load and subsequently modify or delete another user's or tenant's record when the key comes from a request. The 4.2.0 fix combines key conditions with incoming scope, query-builder or where conditions in findByKey(), exists(key=), updateByKey() and deleteByKey(). Other scope-aware finders, aggregates, updateAll() and deleteAll() are not affected.
Weaknesses CWE-669
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-10-19T18:42:15.796Z

Reserved: 2026-10-16T03:35:00.120Z

Link: CVE-2026-111445

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-16T04:18:30.563

Modified: 2026-10-19T19:17:23.097

Link: CVE-2026-111445

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T22:36:01Z

Weaknesses
  • CWE-669

    Incorrect Resource Transfer Between Spheres