Skip to main content

OmniRoute CVE-2026-116634

| EUVDEUVD-2026-110063 HIGH
Missing Authentication for Critical Function (CWE-306)
2026-10-26 VulnCheck GHSA-fqp9-jcg9-vhfv
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach open-mode OmniRoute instance
  2. Delivery
    Send unauthenticated POST /api/sync/tokens
  3. Exploit
    Receive sync token (issuedBy "open")
  4. Execution
    Call GET /api/sync/bundle with token
  5. Impact
    Exfiltrate decrypted credentials and API keys

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The instance must be running with requireLogin disabled (requireLogin=false, "open mode"). Under that mode only, an unauthenticated caller can POST /api/sync/tokens to mint a sync token (recorded as issuedBy:"open") and then call GET /api/sync/bundle with it to retrieve decrypted provider credentials and plaintext API keys - the same material /api/settings/export-json already refused to anonymous callers. Limiting factor confirmed by the diff: when login is required (the default login-enabled mode), /api/sync/tokens already demanded a dashboard session or the local CLI, so the flaw does not apply there. Additional exposure: tokens issued in open mode persisted and kept opening the bundle even after login was re-enabled, until the 3.8.52 fix invalidates all issuedBy:"open" tokens (operators must re-issue from the dashboard or CLI).

Impact

Signals are moderately strong but conditional. The vendor CVSS 4.0 score is 8.2 (High) with a confidentiality-only profile (VC:H, VI:N, VA:N) and the vector carries AT:P (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N), meaning exploitation depends on an attacker-uncontrolled precondition - here, the instance running with requireLogin disabled. No EPSS score is provided and the CVE is not listed in CISA KEV, so there is no public-scale exploitation signal; exploitation status is 'no public exploit identified at time of analysis' (the references are patch commits, source lines and the VulnCheck advisory, not a working exploit). The vuln.today Decision label is 'this_week', consistent with a serious credential-disclosure bug that is gated behind a specific deployment mode rather than an emergency against default configs. Net: a genuine high-impact issue (full disclosure of decrypted provider credentials and plaintext API keys, with tokens that survive re-enabling login) that is a real priority for any instance deliberately run in open mode, but not a broad internet-wide emergency given the requireLogin=false precondition and the product's niche footprint. Missing data to note explicitly: EPSS is absent and no KEV entry exists, so widespread-exploitation likelihood cannot be quantified from the input.

Exploit ScenarioDerived

An attacker able to reach an OmniRoute 3.8.50/3.8.51 instance configured with requireLogin disabled sends an unauthenticated POST to /api/sync/tokens to mint a sync token, then presents that token to GET /api/sync/bundle to download the decrypted provider credentials and plaintext API keys. No public exploit is identified, though the CVE references point to the exact unguarded route. The minted token (issuedBy "open") also keeps working even after login is turned back on, extending the exposure window.

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

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

Alert me

AnalysisAIv1 – Oct 26, 2026

Missing authentication in OmniRoute 3.8.50 through 3.8.51 lets an unauthenticated remote caller POST to /api/sync/tokens and mint a sync token whenever the instance runs in open mode (requireLogin=false), then spend that token against GET /api/sync/bundle to pull decrypted provider credentials and plaintext API keys - the same material /api/settings/export-json already denies to anonymous callers. The flaw is conditional: when login is enabled (the default), token issuance already required a dashboard session or the local CLI, so only open-mode deployments are reachable, which is why the assessed CVSS:3.1 vector is AV:N/AC:H/PR:N/UI:N with confidentiality-only impact (C:H/I:N/A:N) even though the vendor's CVSS:4.0 score is 8.2. Tokens minted this way were recorded as issuedBy:"open" and kept opening the bundle after login was re-enabled; version 3.8.52 fixes issuance, routing /api/sync/tokens into the always-protected tier and refusing the legacy "open" tokens. No public exploit code was identified at time of analysis and the CVE is not in CISA KEV; priority is this_week.

RemediationAI

Vendor-released patch: upgrade to OmniRoute 3.8.52 (https://github.com/cheaper-inference/OmniRoute/releases/tag/v3.8.52, PR 17053, commit 44a29611bf088e351d8d40eacaabdc1794ed0c61). Upgrading is not sufficient on its own for instances that ran in open mode: 3.8.52 makes validateSyncToken() reject every token recorded as issuedBy:"open", so any sync token minted while login was disabled stops working and must be re-issued from the dashboard or the local CLI after the upgrade - integrations relying on those tokens will break until re-issued. As a compensating control before patching, set requireLogin=true so /api/sync/tokens again demands a dashboard session or the local CLI; this closes the issuance path but does not revoke tokens already minted in open mode, which continued to open /api/sync/bundle after login was re-enabled, so previously issued tokens must be treated as compromised and rotated, and any credentials or API keys exposed in the bundle should be rotated. Additionally, restrict network reachability to /api/sync/tokens and /api/sync/bundle (the bundle route remains token-authenticated by design and is not covered by the always-protected tier), accepting that this limits legitimate remote sync clients.

Affected VersionsENISA

OmniRoute 3.8.50 <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

OmniRoute is a Next.js (App Router) application whose management API is gated by a route guard (src/server/authz/routeGuard.ts) that distinguishes a normal protected tier from an ALWAYS_PROTECTED_API_PATHS tier. CWE-306 (Missing Authentication for Critical Function) applies because the POST /api/sync/tokens and DELETE /api/sync/tokens/[id] handlers called requireManagementAuth(request) without the alwaysRequireAuth option, so in open mode (requireLogin=false) the guard degraded to 'anyone' rather than requiring an operator credential. The issued token was typed by an OperatorCredentialKind of "open" in src/lib/sync/issuer.ts, documenting the design assumption that with login disabled every management route is open anyway - an assumption contradicted by /api/settings/export-json, which stayed authenticated in the same mode. validateSyncToken() in src/lib/sync/tokens.ts honoured those records, so possession of an "open" token was sufficient to authenticate GET /api/sync/bundle, the endpoint that returns the decrypted configuration bundle including provider credentials and API keys. The 3.8.52 fix adds alwaysRequireAuth:true to token issuance and revocation, adds /api/sync/tokens to ALWAYS_PROTECTED_API_PATHS (the bundle route itself intentionally stays token-authenticated), and makes validateSyncToken() return null for any record with issuedBy:"open". The trigger for the underlying logic gap is fully described in the upstream diff; no memory-safety or race component is involved.

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 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

Unauthenticated network request (AV:N/PR:N/UI:N) but requires the instance to run in requireLogin-disabled mode, an attacker-uncontrolled precondition, so AC:H; full credential disclosure gives C:H with no integrity or availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

OmniRoute 3.8.50 before 3.8.52 contains a missing authentication vulnerability that allows unauthenticated attackers to issue sync tokens via POST /api/sync/tokens when requireLogin is disabled. Attackers can use the issued token against GET /api/sync/bundle to retrieve decrypted provider credentials and plaintext API keys, with tokens persisting after login is re-enabled.

Executive ViewAI

Why It Matters

A high-severity flaw in OmniRoute 3.8.50-3.8.51 allows unauthenticated attackers to extract decrypted provider credentials and plaintext API keys from deployments running in open mode (authentication disabled). Organizations that operate OmniRoute without login enabled expose sensitive third-party credentials to direct theft, and tokens minted during that window remain valid after login is re-enabled, extending the exposure. Leadership should care because the impact is unauthorized disclosure of secrets that can be leveraged against downstream providers and cloud services, with potential for follow-on compromise beyond OmniRoute itself.

Business Impact: High
Compensating Controls

Apply vendor patch. Until version 3.8.52 is deployed, enable login on open-mode instances (requireLogin=true) to close external reachability, block unauthenticated access to /api/sync/tokens and /api/sync/bundle at the network or reverse-proxy layer, and rotate provider credentials and API keys on any instance that ran in open mode.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Low
niche open-source LLM-routing proxy, limited production footprint
Social Media
2
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.5%
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

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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