/

CVE-2026-111446

Severity:

HIGH RISK

(8.6)

Improper Authorization (CWE-863) in Wheels Dev Tools

CVE-2026-111446

Deferred

Vulnerability type

Category:

Improper Authorization

CWE:

CWE-863

Impact:

Unauthorized access, information disclosure, and potential application database modification

Severity:

HIGH RISK

(8.6)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Wheels exposes password-less development tools to remote clients when public components are enabled, allowing access to sensitive application information and test execution capabilities. If tests use the primary datasource, an attacker may cause test activity to modify the production application database.

Wheels exposes password-less development tools to remote clients when public components are enabled, allowing access to sensitive application information and test execution capabilities. If tests use the primary datasource, an attacker may cause test activity to modify the production application database.

Affected context

The issue occurs in Wheels development environments where enablePublicComponent=true exposes endpoints under /wheels/*. Before the local-access restriction was introduced, these tools lacked a peer-origin check; in the affected restriction design, authorization can rely on client-supplied headers rather than the actual connecting peer. The separately protected migrator and CLI endpoints are outside this issue.

The issue occurs in Wheels development environments where enablePublicComponent=true exposes endpoints under /wheels/*. Before the local-access restriction was introduced, these tools lacked a peer-origin check; in the affected restriction design, authorization can rely on client-supplied headers rather than the actual connecting peer. The separately protected migrator and CLI endpoints are outside this issue.

Exploit preconditions

  • Attack surface: Network-accessible /wheels/* development-tool endpoints
  • Required access: Remote network connectivity; no valid application credentials may be required
  • Configuration condition: Public components are enabled, which is the development default
  • Trigger point: Requests to password-less development tools
  • Why exploitation is possible: Authorization does not reliably establish that requests originate from a trusted local peer, allowing remote clients to access functions intended for local development use
  • Attack surface: Network-accessible /wheels/* development-tool endpoints
  • Required access: Remote network connectivity; no valid application credentials may be required
  • Configuration condition: Public components are enabled, which is the development default
  • Trigger point: Requests to password-less development tools
  • Why exploitation is possible: Authorization does not reliably establish that requests originate from a trusted local peer, allowing remote clients to access functions intended for local development use

Why this happens

The underlying defect is improper authorization, mapped to CWE-863. Development-only administrative and testing functionality is exposed without a trustworthy authorization boundary. In the later restriction design, client-controlled request headers are treated as evidence of local origin without independently verifying the network peer, allowing an untrusted client to influence the access decision.

The underlying defect is improper authorization, mapped to CWE-863. Development-only administrative and testing functionality is exposed without a trustworthy authorization boundary. In the later restriction design, client-controlled request headers are treated as evidence of local origin without independently verifying the network peer, allowing an untrusted client to influence the access decision.

Potential impact

  • Remote clients may obtain application settings and environment details
  • Datasource information and application routes could be disclosed
  • Attackers may start application test runs without authorization
  • Test execution could write to the primary application database
  • Sensitive configuration could support further attacks against the application
  • Remote clients may obtain application settings and environment details
  • Datasource information and application routes could be disclosed
  • Attackers may start application test runs without authorization
  • Test execution could write to the primary application database
  • Sensitive configuration could support further attacks against the application

General mitigation guidance

Mitigation generally focuses on establishing a trustworthy authorization boundary around development tooling.

Common defensive patterns include:

  • Disable public exposure of development components by default outside controlled development environments
  • Require authenticated, explicitly authorized access for administrative and test endpoints
  • Derive local-origin decisions from the actual connection context rather than client-supplied headers
  • Bind development tools to loopback or an isolated management interface where practical
  • Separate test datasources from primary application datasources
  • Apply least privilege to the identities used by test runners and database connections
  • Restrict network access to development endpoints through segmentation and policy enforcement

Mitigation generally focuses on establishing a trustworthy authorization boundary around development tooling.

Common defensive patterns include:

  • Disable public exposure of development components by default outside controlled development environments
  • Require authenticated, explicitly authorized access for administrative and test endpoints
  • Derive local-origin decisions from the actual connection context rather than client-supplied headers
  • Bind development tools to loopback or an isolated management interface where practical
  • Separate test datasources from primary application datasources
  • Apply least privilege to the identities used by test runners and database connections
  • Restrict network access to development endpoints through segmentation and policy enforcement

How teams detect issues like this

Detection can include:

  • Static analysis and configuration checks for publicly enabled development components
  • Code review searches for authorization decisions based on untrusted forwarding or client-supplied headers
  • Endpoint inventories identifying password-less administrative, diagnostic, or test functionality
  • Network monitoring for remote requests to /wheels/*
  • Audit logging for test-run initiation and access to settings, datasource details, and route information
  • Policy checks that require authentication and trusted network placement for development tools

Detection can include:

  • Static analysis and configuration checks for publicly enabled development components
  • Code review searches for authorization decisions based on untrusted forwarding or client-supplied headers
  • Endpoint inventories identifying password-less administrative, diagnostic, or test functionality
  • Network monitoring for remote requests to /wheels/*
  • Audit logging for test-run initiation and access to settings, datasource details, and route information
  • Policy checks that require authentication and trusted network placement for development tools

Sources

SourceLink
github.comgithub.com/wheels-dev/wheels/security/advisories/GHSA-6v6c-p375-vxw9

Frequently asked

questions

Yes, when the development components are publicly exposed and reachable by a remote client. Exploitation does not necessarily require application credentials.

An attacker generally needs network connectivity to the exposed /wheels/* endpoints. The relevant risk depends on deployment configuration and network controls.

Keep development tools inaccessible to untrusted networks and require strong authentication and authorization for any necessary remote administration.

Treat client-supplied headers as untrusted, verify the actual connection context, separate test and production datasources, and continuously audit exposed development endpoints.

Yes, when the development components are publicly exposed and reachable by a remote client. Exploitation does not necessarily require application credentials.

An attacker generally needs network connectivity to the exposed /wheels/* endpoints. The relevant risk depends on deployment configuration and network controls.

Keep development tools inaccessible to untrusted networks and require strong authentication and authorization for any necessary remote administration.

Treat client-supplied headers as untrusted, verify the actual connection context, separate test and production datasources, and continuously audit exposed development endpoints.

Find out what's already
exploitable in your codebase.