Skip to main content

OmniRoute CVE-2026-118984

| EUVDEUVD-2026-112722 HIGH
Unverified Password Change (CWE-620)
2026-10-29 VulnCheck GHSA-3625-cmv6-g9c2
7.0
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain manage/admin-scoped API key or oma_ token
  2. Delivery
    Send POST to /api/settings/require-login
  3. Exploit
    Set new management password without current password
  4. Execution
    Lock out operator or disable login requirement
  5. Impact
    Take over dashboard login

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Password change verification
Exploitation Conditions

The attacker must already possess a valid manage- or admin-scoped OmniRoute API key or an oma_ access token for the target instance, and the instance must have a management password already configured (the first-run bootstrap window, with no password set yet, is a separate intended path and unchanged by the fix). Given such a credential, the attacker reaches the network-accessible POST /api/settings/require-login endpoint and changes the management password or toggles requireLogin without knowing the current password. Limiting factors: the attack is impossible for unauthenticated or anonymous attackers - it strictly requires an elevated machine credential - and the operator can recover via the local CLI, which keeps a host-bound recovery path; the flaw is remediated only by upgrading to 3.8.52, where these routes become operator-only.

Impact

The vendor CVSS 4.0 score is 7.0 (HIGH), but the single most important signal is PR:H - exploitation requires the attacker to already hold a manage- or admin-scoped OmniRoute API key or an oma_ access token, so this is a privilege-boundary / authorization-enforcement flaw (CWE-620, unverified password change), not a remote-unauthenticated takeover. The vector is AV:N/AC:L/AT:N/UI:N (network-reachable, low complexity, no user interaction) with impact weighted to integrity (VI:H: change the management password and weaken login/security policy) and low availability (VA:L: operator lockout, recoverable via the local CLI), and explicitly no confidentiality impact (VC:N). Supporting signals temper urgency rather than raise it: there is no EPSS score in the input, the CVE is not listed in CISA KEV, and no public exploit code is present (the references are the fix PR/commit, the vulnerable source lines, and the VulnCheck advisory - not a weaponized PoC). The vuln.today decision label is 'this_week', consistent with a patch-this-cycle item rather than act_now/emergency. Net: a genuine authorization defect worth prompt patching for anyone issuing machine credentials to an OmniRoute instance, but the HIGH score overstates real-world urgency because the PR:H precondition (possession of a valid elevated machine credential) gates the entire attack.

Exploit ScenarioDerived

An attacker who has obtained a manage- or admin-scoped OmniRoute API key or an oma_ access token (for example a leaked or over-shared machine credential) sends a POST to /api/settings/require-login and sets a new management password without supplying the current one. This lets them lock the legitimate operator out of the dashboard, hijack dashboard login, or disable the login requirement entirely. No public exploit code was identified; the exact vulnerable route (settings/require-login/route.ts) and the fix are public via the vendor patch.

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

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

Alert me

AnalysisAIv1 – Oct 29, 2026

OmniRoute 3.8.0 through 3.8.51 lets a caller who already holds a manage- or admin-scoped API key, or an oma_ access token, replace the instance management password or toggle the login requirement via POST /api/settings/require-login without supplying the current password, and the same machine credentials could also weaken security-policy keys such as requireLogin, newPassword, oidc*, corsOrigins and bruteForceProtection on PATCH /api/settings. The practical outcomes are dashboard login takeover, operator lockout, or disabling the login requirement altogether, but the flaw sits behind an already-elevated machine credential (CVSS 4.0 PR:H, assessed as CVSS 3.1 PR:H), so it is an authorization-enforcement failure rather than anonymous remote takeover. No public exploit code and no CISA KEV entry were identified at time of analysis; the vendor addressed it in release 3.8.52 with an operator-only enforcement path, and the vuln.today decision label places remediation in this week's window.

RemediationAI

Upgrade OmniRoute to 3.8.52 or later - the vendor-released patch (PR https://github.com/cheaper-inference/OmniRoute/pull/16897, commit dde27f4964872c9b43cfd5b8f532693f6c018af6, release https://github.com/cheaper-inference/OmniRoute/releases/tag/v3.8.52) makes POST /api/settings/require-login operator-only once a password exists, requires currentPassword from dashboard sessions, refuses API keys of any scope and oma_ access tokens with 403, and blocks machine credentials from every security-policy key on PATCH /api/settings. Because the vulnerability is only exploitable with a valid manage- or admin-scoped API key or oma_ access token, treat credential hygiene as part of the fix: rotate or revoke manage/admin-scoped API keys and oma_ access tokens issued to integrations, and review server logs for settings.update_failed events with reason OPERATOR_REQUIRED, for unexpected password changes, or for changes to requireLogin, corsOrigins and bruteForceProtection, since those are the observable traces of an attempt. If an operator has already been locked out by the attack, the local CLI retains a host-bound recovery path (an instance with login disabled can still set a password) - this recovery path is also why the residual impact is recoverable, but it requires access to the host owning the data directory, so it must be exercised by an administrator with that access. Vendor guidance treats updating as the complete fix; no additional feature-disable workaround is documented in the supplied sources, and the decision label for this CVE places the upgrade in the current week's remediation window.

Affected VersionsENISA

OmniRoute 3.8.0 <3.8.52

Affected Packages

euvd omniroute fix: 3.8.52

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 flaw is CWE-620, unverified password change, in the Next.js API layer of OmniRoute (cheaper-inference/OmniRoute, CPE cpe:2.3:a:cheaper-inference:omniroute). The affected handler lives at src/app/api/settings/require-login/route.ts and the sibling settings route at src/app/api/settings/route.ts; before the fix these routes accepted any authenticated caller - API keys of any scope or an oma_ access token - as sufficient authority to set a new management password or flip requireLogin, without re-authentication against the existing password. The underlying design issue is that the code conflated a machine credential with the operator identity: authorization was checked as 'is authenticated', not 'is the operator or the host-bound recovery path'. The upstream fix (PR #16897, commit dde27f4964872c9b43cfd5b8f532693f6c018af6) introduces requireOperatorCredential() in src/lib/api/operatorCredential.ts and makes the settings routes operator-only once a password exists, meaning a dashboard session, the local CLI, or an instance with login disabled; dashboard sessions must now send currentPassword to replace an existing password, API keys and oma_ tokens receive 403, and security-policy keys (requireLogin, newPassword, every oidc* key, corsOrigins, bruteForceProtection, and the LOCAL_ONLY bypass list) are recorded in SECURITY_IMPACTING_SETTINGS_KEYS and refused to machine credentials even when the correct currentPassword is presented. Mutations on the exact paths /api/settings and /api/settings/require-login additionally require the admin access-token scope via ADMIN_MUTATION_EXACT_PATHS in src/server/authz/accessScopes.ts, while GET stays read-scoped and other /api/settings/* sub-routes keep the method-inferred write scope; refusals are audited as settings.update_failed with reason OPERATOR_REQUIRED. The first-run bootstrap window, where no password is configured yet, is intentionally unchanged, and the local CLI retains a host-bound recovery path so an operator locked out by the attack can still reset the password from the data-directory host. The trigger for the vulnerable path is precisely the unverified-password-change semantics; the supplied sources do not describe any additional memory-safety or race condition mechanism.

Know when Omniroute 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 (VulnCheck) PRIMARY 7.0 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Requires a valid manage/admin machine credential so PR:H; network-reachable with no user interaction; high integrity impact (password/security-policy change) and low availability (recoverable operator lockout); no confidentiality impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

OmniRoute 3.8.0 before 3.8.52 contains an unverified password change vulnerability that allows holders of manage- or admin-scoped API keys or oma_ access tokens to change the management password without the current password. Attackers can send POST requests to /api/settings/require-login to lock out the operator, take over dashboard login, or disable the login requirement entirely.

Executive ViewAI

Why It Matters

OmniRoute versions 3.8.0 through 3.8.51 contain an authorization flaw that allows someone with an already-elevated API key or access token to take over the management dashboard or lock out legitimate operators, potentially disrupting routing operations and security oversight. Leadership should care because this could lead to unauthorized administrative control, operational downtime, and weakened security posture, though it requires a pre-existing high-privilege credential.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche self-hosted open-source LLM routing proxy, limited production footprint
Social Media
1
Sightings
Data Quality
4 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.4%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

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