CVE-2026-35391Bulwark Webmail 1.4.11之前版本存在安全漏洞。由于`getClientIP()`函数错误信任`X-Forwarded-For`头部最左侧条目,攻击者可伪造源IP地址。此举可绕过基于IP的速率限制以进行暴力破解攻击,或伪造审计日志来源,该问题已在1.4.11版本修复。
该漏洞位于 `lib/admin/session.ts` 文件的 `getClientIP()` 函数中。在反向代理或负载均衡的典型部署架构中,`X-Forwarded-For` (XFF) 头部用于传递客户端的原始 IP 地址。然而,XFF 头部的格式通常为“客户端IP, 代理1 IP, 代理2 IP”,其中最左侧的 IP 是由客户端初始请求提供的,因此极易被伪造。Bulwark Webmail 在早期版本中错误地信任了 XFF 头部的最左侧条目作为真实客户端 IP。攻击者可以通过简单地在 HTTP 请求头中注入 `X-Forwarded-For: <任意IP>` 来欺骗后端系统。这种信任边界 violation 导致了严重的后果:首先,基于 IP 的速率限制机制失效,攻击者可以不断变换伪造的 IP 对管理员账户进行暴力破解而不被封锁;其次,系统审计日志会记录这些伪造的 IP,导致安全事件溯源困难,掩盖了攻击者的真实位置。