CVE-2026-22253CVE-2026-22253是charmbracelet/soft-serve Git服务器中的一个授权绕过漏洞。Soft Serve是一个用于命令行的自托管Git服务器。在0.11.2之前的版本中,LFS(Git LFS)锁删除端点存在严重的授权绕过问题,允许任何已认证且具有仓库写权限的用户通过设置force标志来删除其他用户拥有的锁。漏洞的根本原因在于代码执行流程在获取用户上下文之前就处理了强制删除操作,从而完全绕过了所有权验证机制。攻击者只需拥有仓库的写权限,即可利用此漏洞删除任意用户的LFS锁,可能导致协作工作流程中断或数据丢失。由于Git LFS锁机制用于协调大文件访问,此漏洞对多人协作项目构成实质威胁。
漏洞存在于Soft Serve的LFS锁删除处理逻辑中。当处理LFS锁删除请求时,代码首先检查force参数,如果force为true,则直接进入删除流程,而在此之前并未验证当前用户是否为锁的拥有者。正常的安全流程应该是先获取当前认证用户的上下文,然后验证该用户是否有权限删除目标锁(通常只有锁的拥有者或管理员可以删除)。然而,漏洞代码在获取用户上下文之前就处理了force删除请求,导致任何具有仓库写权限的认证用户都可以通过添加force=true参数来删除他人的锁。攻击者需要发送一个带有force参数的DELETE请求到LFS锁删除端点,请求中指定要删除的锁ID。服务器会错误地允许此操作,即使请求者并非锁的所有者。修复方案是调整代码执行顺序,确保先获取用户上下文并进行权限验证,然后再处理删除逻辑。