### 漏洞关键信息 #### 概要 - **漏洞类型**: 服务拒绝 (DoS) 通过 Flash Cookie 未受限制的分配 - **CVE ID**: CVE-2026-25899 - **CVSS v3 Base Metrics**: 严重性等级为高 (7.5/10),主要影响可用性,攻击向量为网络,复杂性低。 #### 受影响的包和版本 - **包**: github.com/gofiber/fiber/v3 - **受影响版本**: = v3.1.0 #### 漏洞细节 1. **漏洞触发条件**: - 使用 `fiber_flash` cookie 可以在任何服务器上触发未受限制的内存分配。 - 通过构造一个10个字符的 cookie 值,可以触发高达85GB的内存分配,利用未验证的 msgpack 反序列化。 - 不需要身份验证,影响所有 GoFiber v3端点,无论应用是否使用闪存消息。 2. **代码分析**: - 无论配置如何,都会检查闪存 cookie。 - cookie 值被十六进制解码,并直接传递给 msgpack 反序列化,没有任何大小或内容验证。 - 自动生成的 tinylib/msgp 反序列化从攻击者控制的字节流中读取一个 uint32 数组头,并直接传递给 `make()`,没有边界检查。 3. **攻击方法**: - 构造一个 GoFiber cookie 可以强制进行巨大的分配。 - 示例命令: `curl -H "Cookie: fiber_flash=dd7fffffff" http://localhost:5000/hello` 4. **影响**: - 未经授权的远程服务拒绝 (DoS) (CWE-789)。 - 影响所有运行 GoFiber v3.0.0 或 v3服务器的用户。 - 闪存 cookie解析是硬编码的。