漏洞概述 在SeaweedFS的S3和Iceberg REST API网关中,存在路径遍历漏洞。当请求的URL路径变量包含 、 或 时,这些路径段会被路由到 和 变量中,导致潜在的路径遍历攻击。 影响范围 S3网关: 和 变量可能包含不安全的路径段。 Iceberg REST API网关: 、 和 变量可能包含不安全的路径段。 修复方案 1. 添加路径验证中间件: - 在S3和Iceberg REST API网关中添加路径验证中间件,拒绝包含不安全路径段的请求。 - 验证规则包括: - 拒绝包含 、 或 的路径段。 - 拒绝空的路径段。 - 拒绝包含单段斜杠的路径段。 2. 具体实现: - S3网关: - Iceberg REST API网关: 3. 日志中间件: - 在路径验证中间件之前注册日志中间件,确保所有请求和响应都被记录,便于安全审计和调试。 POC代码 总结 通过添加路径验证中间件,可以有效防止路径遍历攻击,确保S3和Iceberg REST API网关的安全性。同时,注册日志中间件有助于安全审计和调试。