CVE-2026-29794Vikunja是一款开源自托管任务管理平台。在0.8至2.2.0之前的版本中,未经身份验证的攻击者可以通过伪造HTTP头部(X-Forwarded-For或X-Real-IP)来绕过应用程序的速率限制机制。该漏洞源于应用过度依赖上下文中的RealIP值。攻击者利用此漏洞可无限制地访问未认证端点,主要风险在于进行暴力破解攻击以猜测用户名或密码,从而威胁系统安全。
该漏洞的根源在于Vikunja的速率限制组件直接使用了`(echo.Context).RealIP`作为限制依据。在许多Web框架配置中,如果应用位于反向代理(如Nginx)之后,通常需要解析`X-Forwarded-For`等头部来获取客户端真实IP。然而,Vikunja在受影响版本中未能验证这些头部的来源可信度,允许客户端随意篡改。攻击者只需在发送请求时循环修改`X-Forwarded-For`或`X-Real-Ip`头部的值(例如递增IP地址),即可欺骗速率限制器,使其认为每次请求都来自不同的用户。这使得针对登录接口或其他未认证接口的暴力破解攻击成为可能,因为攻击者不再受限于单一IP的请求频率阈值。