漏洞概述 漏洞名称: Arbitrary file-existence and size oracle via chunk check (path traversal in name) #413 漏洞类型: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) 严重程度: Medium 漏洞描述: 端点将请求体中的 字段直接拼接到文件路径中,并返回该文件是否存在以及其大小是否与调用者提供的值匹配。 由于 字段未过滤,攻击者可以通过提供 序列或绝对路径来探测主机上任意文件的存在并获取其确切大小。 控制器被标记为 和 (从 Swagger UI 中排除),但仍映射且可达,未实施 URI 级别授权。 影响范围 远程攻击者:可以枚举主机上任意文件的存在并确定其确切大小,导致敏感文件发现和信息泄露。 端点状态:虽然端点已弃用并从 API 文档中排除,但仍在部署中且可达,且不受 URI 级别授权保护。 修复方案 1. 规范化路径:使用 或 规范化路径,并拒绝任何超出 边界的结果;拒绝包含 、路径分隔符或绝对路径的 值。 2. 移除或保护端点:移除已弃用的 端点,或在背后实施身份验证和授权。 3. 避免泄露布尔结果:不要对攻击者控制的路径返回布尔文件存在结果。 关键代码 概念验证 (POC) 响应:如果返回 ,则确认文件存在且大小与提供的值匹配;通过迭代 可以恢复任意文件的精确长度。