Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain manage/admin-scoped API key or oma_ token
-
DeliverySend POST to /api/settings/require-login
-
ExploitSet new management password without current password
-
ExecutionLock out operator or disable login requirement
-
ImpactTake 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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 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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
Apply vendor patch.
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
Remote code execution in OmniRoute AI gateway 3.8.49 and earlier lets attackers run arbitrary commands in the server con
Missing authentication in OmniRoute 3.8.50 through 3.8.51 lets an unauthenticated remote caller POST to /api/sync/tokens
EUVD-2026-112722
GHSA-3625-cmv6-g9c2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB