CVE-2026-33675Vikunja是一款开源的自托管任务管理平台。在2.2.1版本之前,该平台存在服务器端请求伪造(SSRF)漏洞。具体而言,`pkg/modules/migration/helpers.go`文件中的迁移辅助函数`DownloadFile`和`DownloadFileWithHeaders`在处理HTTP GET请求时缺乏SSRF防护机制。当用户触发Todoist或Trello的数据迁移功能时,系统会直接将第三方API响应中的文件附件URL传递给这些函数,而未进行有效的安全验证。这可能导致攻击者利用Vikunja服务器作为代理,强制其访问内部网络资源,并将响应内容作为可下载的任务附件返回给用户,进而窃取敏感信息或扫描内网。
该漏洞的根本原因在于Vikunja的迁移模块未能对用户可控的URL来源进行严格的校验和过滤。在处理从Todoist或Trello等外部服务导入任务数据时,应用会解析API返回的JSON数据,提取其中的文件附件链接。这些链接随后被直接传入`DownloadFile`或`DownloadFileWithHeaders`函数中执行HTTP请求。由于代码中未实施内网IP地址阻断(如禁止访问127.0.0.1、169.254.169.254等)或DNS重绑定防护,攻击者可以通过构造恶意的API响应或控制第三方服务,向Vikunja服务器发送指向内网敏感资源(如云元数据服务、内部管理后台、数据库端口等)的URL。Vikunja服务器接收到请求后,会代替攻击者访问这些内部地址,获取响应数据并将其打包为文件返回给攻击者,从而实现SSRF攻击,突破网络边界限制。