Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| cheaper-inference | OmniRoute | 3.8.50 – < 3.8.52 | 3.8.52 |
References
- Pull Request #17053 patch issue-tracking
- Patch Commit patch
- https://github.com/cheaper-inference/OmniRoute/blob/c1e30b7676975feb298b49eff6ff58923c04b89e/src/app/api/sync/tokens/route.ts#L28-L30 technical-description
- https://github.com/cheaper-inference/OmniRoute/blob/c1e30b7676975feb298b49eff6ff58923c04b89e/src/server/authz/routeGuard.ts#L154-L167 technical-description
- OmniRoute v3.8.52 Release Notes release-notes
- https://github.com/cheaper-inference/OmniRoute product
- VulnCheck Advisory: OmniRoute 3.8.50 before 3.8.52 Missing Authentication via /api/sync/tokens third-party-advisory