CVE-2026-110909
Executive Summary
CVE-2026-110909 is a local development-time trust verification flaw in the Wheels CLI through version 4.1.0, in which the command-line tool fails to confirm that the local HTTP server responding to its requests belongs to the active project. A malicious or unintended process listening on a targeted local port can capture the project's reload password and code relayed through wheels reload or wheels console, and other commands may unknowingly perform state-changing operations against an unrelated local application's server and database. Developers running the affected CLI commands on a workstation where an attacker-controlled or shared local process supervises the target port are the primary exposure group; confidentiality impact is rated High with no integrity or availability impact under the supplied CVSS vector.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability class is CWE-923, Improper Restriction of Communication Channel to Intended Endpoints. In practical terms, the Wheels CLI initiates HTTP requests to a local development server but does not authenticate or otherwise bind the identity of the responding process to the current project. Any process able to bind or already listening on the port the CLI targets can impersonate the legitimate project server and participate in the CLI's request/response cycle.
The NVD description identifies two specific consequences. First, a rogue listener can receive the project's reload password and code that are submitted through wheels reload or wheels console. Second, wheels console additionally probes common ports when the project server is reported as down, which expands the set of ports an attacker might occupy to intercept console traffic. The description further states that other commands can perform unintended state-changing operations against a different local application's server and database — meaning the trust failure is bidirectional: the CLI may leak sensitive material to an impostor, and it may also direct privileged operations at the wrong backend.
The attack surface is the CLI-to-localhost HTTP channel. Exploitation prerequisites are explicit in the description: a process listening on a targeted local port, and the developer running an affected command. This local, interaction-dependent profile is consistent with the CVSS 3.1 vector AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N, yielding a base score of 5.0. The absence of network attack vector and the requirement for user interaction limit broad remote exploitation, but the High confidentiality subscore reflects that credentials and source code may be disclosed.
The root cause is the absence of endpoint identity verification: because the CLI treats "something answered on the expected port" as equivalent to "the trusted project server answered," there is no challenge-response, secret-bound handshake, origin check, or process/project ownership validation described in the fix. Version 4.1.1 addresses this "including changes to the CLI and application template," implying both the client-side verification logic and the generated project's server template were updated in tandem. No further code-level detail (function names, endpoints, parameter names) is provided in the supplied intelligence, and none should be assumed.
Exploitation Scenarios
No public proof-of-concept exists, and the following chain is inferred at the vulnerability-class level from the NVD description.
Reconnaissance / target identification: The adversary determines which loopback ports the Wheels CLI is likely to contact. Per the description,
wheels consoleprobes common ports when the project server is down, which gives an attacker a predictable, enumerable set of target ports to pre-occupy. The attacker identifies a developer workstation where the CLI is in use and a chosen port is either free or already under attacker influence.Triggering the flaw class: With a process listening on a targeted local port, the adversary waits for the developer to run an affected command. Because the CLI does not verify the endpoint's identity, the impostor listener is accepted as though it were the current project's server. No credential theft, privilege escalation, or remote foothold is required beyond local code execution or port influence — matching the
PR:LandUI:Rprerequisites.Payload / execution method (class level): The rogue listener responds to the CLI's HTTP requests as if it were the project server, causing the CLI to disclose the project's reload password and code submitted through
wheels reloadorwheels console. In parallel, other commands issued by the developer can be steered into unintended state-changing operations against a different local application's server and database, i.e., the CLI performs privileged actions against an endpoint that is not the intended project.Post-exploitation impact: The adversary obtains the reload password and project code (confidentiality breach), and may induce unauthorized state changes in an unrelated local application's server and database through the misdirected commands. The CVSS vector records no integrity or availability impact, so exploitation impact under the official score is confidentiality-focused, with the misdirected state changes representing the described but unscored behavioral effect.
Impact Assessment
Business impact centers on developer workstation confidentiality. Leakage of the project's reload password and code can expose proprietary source, development secrets embedded in code, and the reload credential itself, which may be reusable against the genuine project server. Because the attack is local and requires the developer to run an affected command, blast radius is bounded to individual developer environments rather than production fleets — but developer endpoints frequently hold repository credentials, cloud tokens, and access to internal services, so a single compromise can pivot.
CVSS 3.1 subscores: Attack Vector Local (AV:L), Attack Complexity Low (AC:L), Privileges Required Low (PR:L), User Interaction Required (UI:R), Scope Unchanged (S:U), Confidentiality High (C:H), Integrity None (I:N), Availability None (A:N). Base score 5.0 (Medium). EPSS is 0.00095, at the 0.6th percentile, indicating very low predicted exploitation activity. CVE-2026-110909 is not in CISA KEV, has no public PoC, and no Nuclei template is available. Affected systems are developer workstations and CI/lab hosts running Wheels CLI through 4.1.0, particularly multi-tenant or shared development machines where untrusted processes can bind loopback ports.
Detection Guidance
Sigma Rule
title: Wheels CLI Local Server Identity Trust Failure (CVE-2026-110909)
id: 7f3c9a21-4b8e-4d6f-9c2a-wheels110909
status: experimental
description: Detects execution of Wheels CLI reload/console commands that may communicate with an unverified local endpoint.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-110909
author: valtersit.com
date: 2026/01/01
logsource:
category: process_creation
product: linux
detection:
selection_img:
Image|endswith:
- '/wheels'
selection_cmd:
CommandLine|contains:
- 'wheels reload'
- 'wheels console'
condition: selection_img and selection_cmd
falsepositives:
- Legitimate developer use of Wheels CLI
level: low
tags:
- attack.t1552
- cve.2026.110909
YARA Rule
rule CVE_2026_110909_Wheels_CLI_Trust_Failure
{
meta:
description = "Detects Wheels CLI artifacts referencing reload/console commands related to CVE-2026-110909"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-110909"
date = "2026-01-01"
strings:
$a = "wheels reload" ascii wide nocase
$b = "wheels console" ascii wide nocase
$c = "reload password" ascii wide nocase
condition:
any of them
}
Suricata IDS Rule
alert tcp $HOME_NET any -> $HOME_NET any (msg:"CVE-2026-110909 Wheels CLI Local Trust Failure Reload Password Submission"; flow:to_server,established; content:"reload"; nocase; content:"password"; nocase; distance:0; within:64; classtype:attempted-recon; sid:2026110909; rev:1; metadata:created_at 2026_01_01, cve CVE_2026_110909;)
Elastic Detection
process where event.type == "start" and
process.name == "wheels" and
(process.command_line : "wheels reload" or process.command_line : "wheels console")
Splunk SPL Query
index=endpoint sourcetype=process_creation
| search (process_name=wheels OR process_name=wheels.exe)
| search (command_line="*wheels reload*" OR command_line="*wheels console*")
| table _time host user process_name command_line parent_process_name
Wazuh OSSEC Rule
<group name="wheels,cve-2026-110909,">
<rule id="1109090" level="5">
<decoded_as>json</decoded_as>
<field name="process">wheels</field>
<match>wheels reload|wheels console</match>
<description>CVE-2026-110909: Wheels CLI reload/console command executed; verify local server endpoint identity.</description>
<mitre>
<id>T1552</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). The NVD description states a fix is included in 4.1.1, but no vendor advisory, commit, or OSV record was supplied in the tracked intelligence, so no patch reference can be independently corroborated here.
Immediate mitigations:
- Avoid running
wheels reloadorwheels consoleon shared or multi-user development hosts where untrusted processes may bind loopback ports. - Ensure the legitimate project development server is running before issuing CLI commands, so the CLI does not fall through to probing common ports.
- Restrict which local users/processes can bind loopback ports; on Linux, review
ip_local_port_rangeusage and run developer tooling inside an isolated network namespace or container where only the project server may listen.
Patch/upgrade steps:
- Upgrade the Wheels CLI to 4.1.1 or later, which the NVD description states fixes the issue through CLI and application template changes.
- Regenerate or update the project application template so the server side matches the 4.1.1 verification behavior.
- Rotate the project reload password and any code-embedded secrets that may have been transmitted while an unverified endpoint was reachable.
Long-term hardening: enforce endpoint identity verification for all local tooling channels (secret-bound handshake or challenge-response); avoid hardcoded "common port" fallback probing; run development services under dedicated isolated accounts/containers; and monitor for unexpected listeners on development ports as part of developer endpoint hardening.
References
- NVD — CVE-2026-110909: https://nvd.nist.gov/vuln/detail/CVE-2026-110909
- CWE-923, Improper Restriction of Communication Channel to Intended Endpoints: https://cwe.mitre.org/data/definitions/923.html
- FIRST EPSS (CVE-2026-110909 score 0.00095): https://www.first.org/epss/
- MITRE ATT&CK T1552, Unsecured Credentials: https://attack.mitre.org/techniques/T1552/
- CISA Known Exploited Vulnerabilities catalog (CVE-2026-110909 not listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Assessment notes: No public proof-of-concept, no exploit code, and no Nuclei template were available in the supplied intelligence. No threat actor campaign or exploit-in-the-wild evidence was provided, and CISA KEV membership is negative. Exploitation likelihood is low per EPSS (0.00095, 0.6th percentile), and all technical claims here are derived solely from the NVD description; where it is sparse, the vulnerability class and mechanism are described rather than fabricated implementation details.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.