IPBUF安全漏洞报告
English
CVE-2026-33331 CVSS 8.2 高危

CVE-2026-33331 oRPC存储型XSS漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33331
漏洞类型
存储型跨站脚本攻击
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
oRPC

相关标签

XSS存储型XSSoRPCOpenAPIWeb安全CVE-2026-33331

漏洞概述

oRPC是用于构建端到端类型安全API的工具。在1.13.9版本之前,该软件在OpenAPI文档生成功能中存在存储型跨站脚本(XSS)漏洞。攻击者若能控制OpenAPI规范中的任何字段(如info.description),即可打破JSON上下文,在用户查看生成的API文档时执行任意JavaScript代码。该问题已在1.13.9版本中修复。

技术细节

该漏洞源于oRPC在生成OpenAPI文档时,对用户输入的JSON字段缺乏充分的上下文感知转义。攻击者可以通过向受影响的字段(例如info.description)注入精心构造的恶意JavaScript负载(如script标签或事件处理器),利用JSON渲染时的上下文切换缺陷,闭合之前的标签或属性并注入新的脚本。由于这是存储型XSS,恶意脚本会被持久化存储在服务器端生成的文档中。当具有管理员权限或其他用户访问并浏览该API文档页面时,浏览器会解析并执行注入的脚本,从而导致攻击者窃取敏感信息(如Session ID)或执行其他恶意操作。此漏洞利用了CVSS向量中的S:C(范围变更)特性,扩大了攻击影响面。

攻击链分析

STEP 1
步骤1:侦查
攻击者识别出目标使用了存在漏洞的oRPC版本(<1.13.9)来生成API文档。
STEP 2
步骤2:载荷注入
攻击者利用能够影响OpenAPI规范的输入点(如API描述字段),注入恶意的JavaScript代码(XSS Payload)。
STEP 3
步骤3:存储
恶意载荷被保存到生成的OpenAPI文档或配置中,持久化存在于服务器端。
STEP 4
步骤4:触发与执行
当受害者(如管理员或开发人员)访问并浏览该API文档页面时,浏览器解析HTML并执行注入的恶意脚本。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// 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.

影响范围

oRPC < 1.13.9

防御指南

临时缓解措施
在未升级版本前,严格限制对API文档页面的访问权限,仅允许受信任的内网用户访问,并人工审核所有提交至OpenAPI规范的内容。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表