Skip to main content

Wheels Framework CVE-2026-111445

| EUVDEUVD-2026-102607 HIGH
Incorrect Resource Transfer Between Spheres (CWE-669)
2026-10-16 mitre GHSA-r2r4-mr5f-x9qg
8.1
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege tenant user
  2. Delivery
    Tamper request record key to another tenant's ID
  3. Exploit
    Scope condition dropped for primary-key lookup
  4. Execution
    findByKey/exists loads out-of-scope record
  5. Impact
    Read, modify, or delete victim's data

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect resource transfer between spheres
Exploitation Conditions

Requires an authenticated low-privilege session (PR:L) in a Wheels 4.0.0-4.1.2 application that relies on scope conditions for ownership or tenant authorization AND passes request-supplied keys into findByKey(), exists(key=), updateByKey(), or deleteByKey(). The exists(key=) information-leak path additionally requires production mode with error information disabled, where it returns true for an out-of-scope key instead of throwing. LIMITING FACTORS: applications that perform explicit ownership checks rather than depending on scoped finders are not exploitable; the unaffected methods (other scope-aware finders, aggregates, updateAll(), deleteAll()) provide no path; and the attacker must already hold a valid authenticated account on the target tenant-aware application.

Impact

This is a genuine access-control (IDOR/broken object-level authorization) flaw, not merely a high-CVSS-but-low-risk issue, though its real-world urgency is tempered by prevalence and exploitation conditions. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N = 8.1) indicates a network-reachable, low-complexity attack requiring only low privileges (PR:L) and no user interaction, yielding high confidentiality and integrity impact - fully consistent with an authenticated tenant user reading, modifying, or deleting another tenant's record. No EPSS score, CISA KEV listing, or POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the risk is therefore driven by the inherent ease of abuse rather than observed in-the-wild activity. One nuance to verify: the input tag labels this 'Information Disclosure,' but the description explicitly includes modify and delete of out-of-scope records (via updateByKey()/deleteByKey()), so the integrity impact is real and the issue is broader than pure disclosure - treat it as broken access control. Exploitation is gated on an application design pattern (reliance on scopes for ownership/tenant authorization plus request-supplied keys), so not every Wheels deployment is affected.

Exploit ScenarioDerived

In a multi-tenant Wheels application that enforces ownership by chaining scope conditions onto findByKey()/exists(key=)/updateByKey()/deleteByKey(), an authenticated low-privilege user alters a record identifier in a request (e.g., /orders/edit?key=1042) to one belonging to another tenant. Because the finder replaces the scope condition with a bare primary-key condition, the framework loads the out-of-scope record and the application then displays, updates, or deletes the victim's data. No public exploit code was identified, but abuse requires only a modified request parameter against a vulnerable authorization pattern.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Broken object-level authorization in the Wheels (CFML) framework 4.0.0 through 4.1.2 lets an authenticated low-privilege attacker supply a record key to findByKey(), exists(key=), updateByKey(), or deleteByKey() and have the framework drop the application's scope condition (such as a tenant or owner filter), enabling read, modification, or deletion of another user's or tenant's record. The flaw is remotely exploitable (AV:N, PR:L, no user interaction) with high confidentiality and integrity impact but no availability impact, and the exists(key=) variant additionally leaks record existence by returning true for an out-of-scope key when the application runs in production mode with error information disabled. No public exploit code or CISA KEV entry is identified at time of analysis, and exploitation requires an application that relies on Wheels scopes for ownership or tenant authorization and passes request-supplied keys into the affected methods.

RemediationAI

Upgrade to Wheels 4.2.0, the vendor-released patch that combines key conditions with incoming scope, query-builder, or where conditions in findByKey(), exists(key=), updateByKey(), and deleteByKey(); the advisory is at https://github.com/wheels-dev/wheels/security/advisories/GHSA-2qh9-qcxq-f8qc. If an immediate upgrade is not possible, compensating controls are: (1) add explicit ownership or tenant checks in application code before calling the four affected methods with any key derived from a request, which is reliable but requires touching every such call site and is easy to miss; (2) resolve client-supplied keys through an already-scoped lookup rather than passing them directly into those methods, which contains the flaw but may require refactoring; and (3) for the exists(key=) information-leak path, enable error information in the environment so the method throws on an out-of-scope key instead of returning true, accepting the trade-off that error details may be disclosed to users. Given the low-privilege, network-reachable attack path, patching should be prioritized for multi-tenant Wheels applications that depend on scopes for authorization, even though no public exploit code or CISA KEV listing was identified at time of analysis.

Affected VersionsENISA

Wheels 4.0.0 <4.2.0

Affected Packages

euvd wheels fix: 4.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Wheels is a ColdFusion (CFML) MVC framework, and the affected logic lives in its model-layer query generation for scope-aware finders. When an application defines a scope that encodes an ownership or tenant constraint and then calls findByKey(), exists(key=), updateByKey(), or deleteByKey(), Wheels 4.0.0-4.1.2 substitutes the primary-key condition for the incoming scope condition instead of conjoining the two with a logical AND. The generated query therefore omits the tenant or owner predicate, so a key that does not belong to the caller's scope is still matched and returned, updated, or deleted. The advisory assigns CWE-669 (Incorrect Resource Transfer Between Spheres), but operationally this is a classic insecure direct object reference / broken object-level authorization (CWE-639) driven by a user-controlled key. In the exists(key=) path, when error information is disabled (a common production setting), the method returns true for an out-of-scope key rather than throwing, which both bypasses the authorization signal and confirms the existence of a foreign record. The 4.2.0 fix changes the query builder to combine key conditions with incoming scope, query-builder, or where conditions across all four methods; other scope-aware finders, aggregates, updateAll(), and deleteAll() already handle scope correctly and are not affected.

Know when Wheels gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

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

Network-facing web request with a valid low-privilege account (PR:L), no interaction; reading other tenants' data gives C:H and modify/delete gives I:H, with data deletion scored as integrity rather than availability (A:N).

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

Lifecycle Timeline

2
Patch available
Oct 16, 2026 - 05:16 EUVD
CVE Published
Oct 16, 2026 - 03:35 cve.org
HIGH 8.1

DescriptionCVE.org

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.

Technical POC Analysis

The bug class is broken object-level authorization via a user-controlled key.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Wheels, a CFML framework used in web applications, versions 4.0.0 through 4.1.2, contains a broken object-level authorization flaw that allows any authenticated user to bypass tenant or ownership filters and access, modify, or delete records belonging to other users or tenants. This could lead to unauthorized data exposure, data integrity compromise, and cross-tenant data leakage, impacting customer trust and regulatory compliance. Leadership should prioritize remediation because the vulnerability is remotely exploitable with low privileges and requires no user interaction; no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: Implement application-level authorization checks to verify that every record key passed to findByKey(), exists(key=), updateByKey(), or deleteByKey() belongs to the authenticated user's tenant or ownership scope before calling these methods. Override or wrap these methods to enforce scope conditions. Avoid passing user-supplied keys directly without validation. Monitor for abnormal record access patterns. Consider disabling the affected methods if not essential.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche CFML/ColdFusion web framework, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Wheels

View all

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