Skip to main content
research · coordinated disclosure

$ cat research/9router-api-security.md

9Router API Security Research

One coordinated open-source review resulting in three CVE IDs. The work focused on authentication boundaries, authorization checks, secret handling, and privacy risks in AI request data.

Advisory published June 13, 2026Through version 0.4.41Ngô Tấn Tài (@newnol)
3
CVE IDs
2
Critical
1
High
9.3
Highest CNA CVSS v4

$ git log disclosure/

Public disclosure timeline

June 13, 2026

GitHub Security Advisory published

GHSA-vjc7-jrh9-9j86 published with newnol credited as the reporter.

July 13, 2026

Three CVE records published

CVE-2026-59801, CVE-2026-62327, and CVE-2026-62328 became publicly verifiable.

August 5, 2026

Public references verified

Dates, scores, attribution, and upstream links were rechecked for this case study.

Research approach

  1. 1Mapped dashboard API routes and identified operations handling provider credentials, usage data, and request history.
  2. 2Reviewed server-side route handlers for authentication, authorization, ownership checks, and secret masking.
  3. 3Reproduced findings in a controlled local environment and documented impact without targeting third-party deployments.
  4. 4Coordinated publication through the project security advisory and public CVE records.

Scope and focus

Source-code review
API authentication boundaries
Authorization and tenant isolation
Sensitive-data exposure
Responsible disclosure

public verification

Verify the attribution and records

The upstream advisory identifies newnol as the reporter. The three CVE records below provide independent public references for the assigned IDs, affected versions, weakness mappings, and CNA scoring.

Verify on GitHub

$ ls findings/

Assigned CVE findings

These records belong to the same coordinated research case. Each card links to the public NVD entry and the upstream GitHub Security Advisory.

CVE-2026-59801

Unauthenticated provider-management API access

/api/providers/*

Critical · CNA CVSS 4.0 9.3

Summary

Provider-management routes accepted requests without authentication, allowing remote users to enumerate, create, modify, or delete provider connections.

Impact

An attacker could expose partial credentials and OAuth metadata, redirect AI traffic through attacker-controlled providers, alter existing connections, or delete providers and cause service disruption.

Root cause

Sensitive Next.js API routes performed provider CRUD operations without centralized server-side authentication and authorization checks.

affected

9Router <= 0.4.41

weakness

CWE-306

Recommended remediation

  • Require authentication and authorization for every provider-management operation.
  • Return only the minimum provider metadata needed by the dashboard.
  • Audit provider changes and apply least-privilege access controls.
CVE-2026-62327

Plaintext AI provider API-key exposure

/api/usage/stats

Critical · CNA CVSS 4.0 9.3

Summary

An unauthenticated usage endpoint returned complete provider API keys together with usage and billing metadata.

Impact

Exposed keys could be reused against connected AI providers, leading to unauthorized consumption, billing fraud, and quota exhaustion.

Root cause

The usage API lacked authentication and returned full secret values instead of masked identifiers.

affected

9Router <= 0.4.41

weakness

CWE-306 · CWE-522

Recommended remediation

  • Protect all usage endpoints with server-side authentication.
  • Never include full API keys or OAuth secrets in API responses.
  • Rotate credentials that may have been exposed and retain only masked key fingerprints.
CVE-2026-62328

AI request-log and conversation-history disclosure

/api/usage/request-logs and /api/usage/request-details/*

High · CNA CVSS 4.0 8.7

Summary

Unprotected usage routes exposed request metadata and complete AI conversation histories to unauthenticated users.

Impact

The disclosed records could contain system prompts, user messages, assistant responses, tool calls, and user email addresses.

Root cause

Request-log and request-detail handlers lacked authentication and ownership checks before returning sensitive session data.

affected

9Router <= 0.4.41

weakness

CWE-359 · CWE-862

Recommended remediation

  • Require authentication for all request-history endpoints.
  • Enforce per-user or per-tenant ownership checks before returning records.
  • Minimize retained conversation content and redact sensitive fields in logs.

CVSS v4 scores shown on this page were assigned by VulnCheck CNA. The wording “CNA CVSS” distinguishes those public CNA scores from any future independent NVD assessment.

Shared root cause

Sensitive Next.js API handlers did not consistently enforce server-side authentication, authorization, ownership checks, and secret masking. Dashboard protection alone is not a security boundary when API routes remain directly reachable.

The durable fix is centralized authentication for sensitive API namespaces, explicit resource authorization, tenant isolation, and response minimization for credentials and conversation data.

Responsible research

The research shown here concerns open-source software and was reproduced in a controlled environment. No third-party deployment, private credential, or user conversation is included on this site.

Public content is limited to impact, root cause, defensive remediation, and links to already published advisory records.