缺少 MIME 类型的 OpenAPI

medium Web App Scanning 插件 ID 113170

简介

缺少 MIME 类型的 OpenAPI

描述

OpenAPI 规范是 REST API 的 API 描述格式。OpenAPI 文件会以 YAML 或 JSON 编写,并会描述所有 API 属性,例如具有相关操作或身份验证方法的可用端点。

`consumes` 字段会定义 `POST`、`PUT` 或 `PATCH` 请求的预期数据类型。当该定义中缺少此类数据时,API 实现可能接受任何数据类型,从而容易受到 SQL 或 XML 外部实体 (XXE) 注入等服务器端漏洞的攻击。

`produces` 字段会定义 API 返回的响应的 MIME 类型。当缺少该漏洞时,API 实现可能以任何数据类型进行响应,从而导致任意数据泄漏或遭受跨站脚本 (XSS) 等客户端攻击。

扫描程序分析了 OpenAPI 定义文件(版本 2),并检测到缺少 `consumes` 或 `produces` 字段。

解决方案

根据 OpenAPI 描述中受支持的 MIME 类型,指定 `consumes` 和 `produces` 字段。确保 API 实现遵循描述并且不接受其他 MIME 类型。

另见

https://swagger.io/docs/specification/2-0/mime-types/

插件详情

严重性: Medium

ID: 113170

类型: remote

发布时间: 2022/4/21

最近更新时间: 2022/4/21

扫描模板: api, basic, full, pci, scan

风险信息

VPR

风险因素: Medium

分数: 4.0

CVSS v2

风险因素: Medium

基本分数: 5.8

矢量: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:N

CVSS 分数来源: Tenable

CVSS v3

风险因素: Medium

基本分数: 4.8

矢量: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N

CVSS 分数来源: Tenable

CVSS v4

风险因素: Medium

Base Score: 6.3

Vector: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

CVSS 分数来源: Tenable

参考资料信息

CWE: 20

OWASP: 2010-A4, 2013-A4, 2017-A5, 2021-A3

WASC: Improper Input Handling

CAPEC: 10, 101, 104, 108, 109, 110, 120, 13, 135, 136, 14, 153, 182, 209, 22, 23, 230, 231, 24, 250, 261, 267, 28, 3, 31, 42, 43, 45, 46, 47, 473, 52, 53, 588, 63, 64, 67, 7, 71, 72, 73, 78, 79, 8, 80, 81, 83, 85, 88, 9

DISA STIG: APSC-DV-002560

HIPAA: 164.306(a)(1), 164.306(a)(2)

ISO: 27001-A.14.2.5

NIST: sp800_53-SI-10

OWASP API: 2019-API7, 2023-API8

OWASP ASVS: 4.0.2-5.1.3

PCI-DSS: 3.2-6.5