目录
一、软件背景
OpenAPI 生成器允许在给定OpenAPI 规范(支持 2.0 和 3.0)的情况下自动生成 API 客户端库(SDK 生成)、服务器存根、文档和配置。目前,基本支持常规编程语言/框架。
v6.4.0及过往的openapi-generator版本通过组件 /api/gen/clients/{language} 包含服务器端请求,存在服务端请求伪造 (SSRF)。此漏洞允许攻击者通过精心设计的 API 请求访问网络资源和敏感信息。
何为SSRF?
许多web应用都提供了从其他的远程服务器上获取数据的功能。使用用户指定的URL,域名等,web应用可以获取远程服务上的图片、下载文件、读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为网络代理攻击远程或内网服务器。这种形式的攻击称为服务器端请求伪造攻击。
二、漏洞版本
org.openapitools:openapi-generator@(-∞, v6.4.0]
@openapitools/openapi-generator-cli@(-∞, 2.5.2]
三、漏洞POC
根据:
openAPIUrl参数存在SSRF问题.该参数输入dnslog的域名地址:
可以发现成功执行了DNS查询。
四、漏洞修复
1.避免API接口对公网暴露
2.升级版本至v6.5.0及以后版本
参考链接
https://www.oscs1024.com/hd/MPS-2023-6330
https://nvd.nist.gov/vuln/detail/CVE-2023-27162