CVE-2026-30961Gokapi是一款自托管文件共享服务器,支持自动过期和加密功能。在2.2.4之前的版本中存在访问控制绕过漏洞,攻击者可以通过分块上传的方式绕过文件请求的MaxSize大小限制。该漏洞允许拥有公共文件请求链接的攻击者将超过限制的大文件分割成多个小于MaxSize的块进行顺序上传,成功绕过单次请求的文件大小限制。最终上传的文件大小可以达服务器全局MaxFileSizeMB配置的上限,而不受文件请求配置的MaxSize限制。这可能导致服务器存储资源被耗尽,或者被用于托管非法文件。
漏洞存在于Gokapi的分块上传完成处理逻辑中。当用户发起文件请求时,服务器会为该请求设置一个MaxSize限制,用于控制该请求允许上传的最大文件大小。然而,在上传完成的验证环节,系统仅检查了每个分块的大小是否小于MaxSize,但未验证所有分块的累计大小是否超过该限制。攻击者利用这一缺陷,可以将一个大文件拆分成多个小于MaxSize的chunk,通过API依次上传这些chunk,最后请求合并完成。服务器会接受最终合并后的完整文件,只要其大小不超过全局MaxFileSizeMB设置。此漏洞属于OWASP API Security Top 10中的API6-2023:Mass Assignment类问题,即敏感对象属性被过度赋值。