CVE-2026-30886
MEDIUMCVE-2026-30886 is an IDOR in New API, a popular open-source LLM gateway, allowing any authenticated user to access other users' AI-generated video content AND trigger upstream API calls (Google Gemini, OpenAI) billed against victim users' credentials. The credential abuse vector elevates practical risk beyond the 6.5 CVSS — an attacker can drain competitors' API quotas or access sensitive AI outputs. Patch to 0.11.4-alpha.2 immediately; if delayed, restrict the `/v1/videos/:task_id/content` endpoint to authorized roles at the network layer.
Severity & Risk
Recommended Action
- 1. **Patch**: Upgrade New API to version 0.11.4-alpha.2 immediately. 2. **If unable to patch**: Apply WAF rule or reverse proxy ACL blocking unauthenticated or cross-user access to `GET /v1/videos/:task_id/content`; enforce session-bound task ID validation at the gateway layer. 3. **Audit**: Review access logs for the affected endpoint for anomalous cross-user task ID access patterns (user A accessing task IDs that don't correlate with their session history). 4. **Credential rotation**: If exploitation is suspected, rotate all upstream AI provider API keys (OpenAI, Google Gemini) configured in New API. 5. **Code review**: Audit all other task-lookup endpoints in New API for similar missing `user_id` filter patterns — the advisory notes this is the only instance, but verify independently. 6. **Detection**: Alert on task ID enumeration patterns (sequential or high-volume requests to the video endpoint from a single authenticated user).
Classification
Compliance Impact
This CVE is relevant to:
Technical Details
NVD Description
New API is a large language mode (LLM) gateway and artificial intelligence (AI) asset management system. Prior to version 0.11.4-alpha.2, an Insecure Direct Object Reference (IDOR) vulnerability in the video proxy endpoint (`GET /v1/videos/:task_id/content`) allows any authenticated user to access video content belonging to other users and causes the server to authenticate to upstream AI providers (Google Gemini, OpenAI) using credentials derived from tasks they do not own. The missing authorization check is a single function call — `model.GetByOnlyTaskId(taskID)` queries by `task_id` alone with no `user_id` filter, while every other task-lookup in the codebase enforces ownership via `model.GetByTaskId(userId, taskID)`. Version 0.11.4-alpha.2 contains a patch.
Exploitation Scenario
An adversary registers a legitimate account on a shared New API instance (e.g., a corporate LLM gateway or a cloud-hosted multi-tenant deployment). They submit a valid request to generate a video task to obtain a sample `task_id` format. They then enumerate sequential or UUID-range task IDs against `GET /v1/videos/:task_id/content` using their valid session token. For each valid task ID belonging to another user, the server resolves the task without ownership checks, returns the video content, and — critically — authenticates to Google Gemini or OpenAI using the credential associated with the task owner. The adversary can now: (a) exfiltrate other users' AI-generated content, (b) repeatedly trigger expensive AI inference calls charged to victims' API keys, burning their quotas or incurring financial harm, and (c) potentially infer proprietary prompt structures from the content of other users' AI outputs.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N References
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc
- github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc