Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP request with X-Wheels-Test-Context header
-
ExploitFramework switches to separate test application context
-
ExecutionTrigger startup side effects and memory use
-
ImpactBypass runtime maintenance mode and reset rate-limit counters
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
|
| Exploitation Conditions | No special configuration is required - any unauthenticated client can force the alternate context against default deployments of Wheels 4.0.6 through 4.1.2 by supplying an X-Wheels-Test-Context header, a WHEELS_TEST_CONTEXT cookie with any value, or a test-runner path segment anywhere in the URL including the query string. Limiting factors bound the real impact: the maintenance-mode bypass only matters when maintenance mode was enabled at runtime (not via static config), the duplicate rate-limit counters only matter where Wheels' in-memory rate limiting is relied upon, and the memory/startup side effects require repeated requests to be meaningful. No confidentiality or privilege gain is possible because the alternate application shares the same configuration, environment, datasource, and debug settings. |
| Impact | Signals point to a genuinely-easy-to-trigger but low-consequence issue. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) confirms the flaw is remotely reachable by any unauthenticated client with no user interaction and low complexity - simply attaching a header, cookie, or URL path - which is why the base score reaches 6.5. However, the impact metrics (C:N/I:L/A:L, S:U) and the vendor advisory text keep this firmly in medium territory: the description explicitly states 'this is not an authentication bypass or data/debug escalation,' and the alternate context inherits the SAME configuration, datasource, and debug settings, so no new data or privileges are exposed. No EPSS score, KEV listing, POC, or SSVC decision data was provided in the input, so exploitation likelihood cannot be quantified - there is no public exploit identified at time of analysis. CONFLICT TO NOTE: the input Tag 'Authentication Bypass' directly contradicts the CVE description, which says this is explicitly NOT an authentication bypass; treat that tag as mislabeled. Real-world priority is moderate-to-low - trivially triggerable but bounded to runtime maintenance-mode bypass, rate-limit counter resets, and extra memory/startup churn. |
| Exploit ScenarioDerived | An unauthenticated attacker sends an ordinary HTTP request to a production Wheels 4.0.6-4.1.2 application but adds an X-Wheels-Test-Context header (or a WHEELS_TEST_CONTEXT cookie, or a test-runner path segment in the URL/query string) with any value, forcing the request into a parallel test application context. By repeating such requests the attacker triggers extra application-startup side effects and memory consumption, resets in-memory rate-limit counters, and reaches the app even when maintenance mode was enabled at runtime. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Unauthenticated request-context confusion in Wheels 4.0.6 through 4.1.2 lets any remote client push a normal request into a separate test application context by supplying an X-Wheels-Test-Context header, a WHEELS_TEST_CONTEXT cookie with any value, or a test-runner path anywhere in the URL - including the query string. Because the alternate context reuses the same configuration, environment, datasource and debug settings, there is no confidentiality or privilege gain; the realistic impact is limited to bypassing maintenance mode when it was enabled only at runtime, obtaining a second independent set of in-memory rate-limit counters, and triggering extra application-startup side effects and memory consumption under repeated requests. No public exploit code has been identified at time of analysis, and the vulnerability is fixed in Wheels 4.2.0.
RemediationAI
Upgrade to Wheels 4.2.0 (vendor-released patch), which is the version in which the alternate test-context selection is fixed; this is the only complete remediation and should be applied to any deployment running 4.0.6 through 4.1.2. If an immediate upgrade is not possible, block requests at the reverse proxy or WAF that carry an X-Wheels-Test-Context header or a WHEELS_TEST_CONTEXT cookie, and reject requests whose full URI - query string included - contains a test-runner path segment; note that because the URL match applies anywhere in the request including the query string, the filter must inspect the entire decoded request target, and over-broad matching risks blocking legitimate test traffic or URLs that coincidentally contain test-runner fragments. Organizations whose maintenance mode is configured statically rather than enabled only at runtime are not exposed to that particular bypass, and teams relying on Wheels' built-in in-memory rate limiting should account for the duplicate counter set by moving rate limiting to a shared external store or by enforcing limits at the proxy layer. Watch for repeated requests causing growth in process memory from extra application startup, and monitor for unusual test-runner path patterns in logs. Consult the advisory at https://github.com/wheels-dev/wheels/security/advisories/GHSA-xcj9-wm25-4cg4 for vendor guidance.
Affected VersionsENISA
Affected Packages
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
The issue is classified as CWE-348 (Use of Less Trusted Source): the Wheels MVC framework for CFML treats attacker-controlled request data - an X-Wheels-Test-Context header, the WHEELS_TEST_CONTEXT cookie, or a test-runner path segment appearing anywhere in the request URI (query string included) - as a trusted selector for which application context should service the request. Wheels normally instantiates a dedicated test application when a test runner is invoked, but the detection logic does not require the caller to actually be a test runner and does not cross-check the value, so any client can force that alternate context even in a production deployment. The CPE cpe:2.3:a:wheels:wheels:*:*:*:*:*:*:*:* confirms the affected component is the Wheels framework itself across the 4.0.6-4.1.2 release line. Critically, the alternate application is not a privileged or differently configured application: it inherits the same configuration, environment, datasource bindings and debug settings, which is why the CVSS vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L) shows no confidentiality impact and only low integrity/availability impact. The consequence is context duplication rather than escalation - a second in-memory rate-limit counter set, maintenance mode that is only enforced at runtime being skipped, and repeated application startup work consuming memory. The underlying request-routing logic was reworked and the behavior removed in Wheels 4.2.0.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
Unauthenticated remote trigger via a client-supplied header/cookie/path (AV:N/AC:L/PR:N/UI:N); only limited integrity and availability impact, no confidentiality, scope unchanged.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
1DescriptionCVE.org
Wheels 4.0.6 through 4.1.2 lets an unauthenticated client switch a request into a separate test application context, including in production, by supplying an X-Wheels-Test-Context header or WHEELS_TEST_CONTEXT cookie with any value, or including a test-runner path anywhere in the URL, even the query string. The alternate application uses the same configuration, environment, datasource and debug settings: this is not an authentication bypass or data/debug escalation. It can bypass maintenance mode enabled only at runtime, provide a second set of in-memory rate-limit counters, and trigger additional application-startup side effects and memory use. This is fixed in 4.2.0.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
SQL injection in the Wheels CFML framework versions 1.1.8 through 4.1.1 can let unauthenticated remote attackers alter S
SQL injection in the Wheels CFML framework through 4.1.2 lets remote attackers manipulate SQL statements when an applica
Remote, unauthenticated attackers can access password-less development tools under /wheels/* in Wheels 4.0.0 through 4.1
Broken object-level authorization in the Wheels CFML framework (versions 1.1 through 4.1.2) allows an authenticated low-
Broken object-level authorization in the Wheels (CFML) framework 4.0.0 through 4.1.2 lets an authenticated low-privilege
Exception-detail disclosure in the Wheels CFML framework (versions 3.0.0 through 4.1.1) lets a remote, unauthenticated c
Information disclosure in the Wheels CFML framework through 4.1.1 allows an unauthenticated remote attacker who wins a c
Reload-password and code disclosure, plus unintended state-changing operations against a foreign local server, affect de
Wheels 4.0.0 through 4.1.2 performs case-insensitive path-containment checks on case-sensitive filesystems, so a pre-exi
EUVD-2026-102605
GHSA-jf33-wf86-q3mp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB