IT SBIT Services
Schneeberger
DEEN
CVE tracker

Wheels framework: Authorization bypass via key lookup ignoring scopes

CVE-2026-111445High 8.1

← All vulnerabilities

Summary

Wheels 4.0.0 through 4.1.2 (before 4.2.0) ignores configured model scope conditions in findByKey() and exists(key=). If an application takes the record key from a request and relies on scopes for ownership or tenant separation, an authenticated user can load and then modify or delete records belonging to another user or tenant. In production with error information disabled, exists(key=) returns true for out-of-scope keys instead of throwing an error.

Affected

  • Wheels 4.0.0 through 4.1.2
  • All versions from 4.0.0 up to but excluding 4.2.0
  • Affected functions: findByKey(), exists(key=), updateByKey() and deleteByKey() in combination with scopes
  • Versions before 4.0.0: Unknown.

Fixed in

  • Wheels 4.2.0 (combines key conditions with the incoming scope, query builder and where conditions)
  • Backport to 4.1.x: Unknown.

Workaround

  • Vendor workaround: Unknown.
  • Use findOne(where="id = #key#") or findAll(where=...) on the scope chain instead of findByKey.
  • Check ownership or tenant explicitly on every record loaded or changed by a request-supplied key.

Exploitation

  • No evidence of exploitation in the wild found.
  • No public proof of concept found.
  • CISA SSVC: Exploitation none, automatable no, technical impact total.
  • Attack requires network access and a valid low-privilege account.

Our recommendation

  • Upgrade Wheels to 4.2.0 or later where the application is affected.
  • Until patched, verify ownership or tenant on every record accessed via a request-supplied key.
  • Do not rely on the production error setting to protect against this issue.
  • Review logs for unexpected updates or deletes on records belonging to other users or tenants.
  • Check the customer inventory for Wheels deployments with multi-tenant or ownership-based scopes; treat these with high priority.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 18:56.

Original description (NVD)

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.

NVD references (1)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.