CVE-2026-22701filelock是Python的一个平台无关文件锁库。在3.20.3之前的版本中,SoftFileLock实现存在TOCTOU(检查时间-使用时间)竞态条件漏洞。攻击者需要具备本地文件系统访问权限和创建符号链接的权限,利用权限验证与文件创建之间的时间窗口,在raise_on_not_writable_file()权限检查和os.open()文件创建之间插入恶意操作。通过在此竞态窗口期间创建符号链接,攻击者可使锁操作作用于意外的目标文件或导致拒绝服务。
该漏洞源于SoftFileLock._acquire()方法中的TOCTOU竞态条件。在权限检查(raise_on_not_writable_file())完成后、文件创建(os.open())前的时间窗口内,攻击者可创建符号链接,使锁操作作用于符号链接指向的目标文件。这可能导致未授权访问、文件损坏或服务中断。攻击需要本地访问权限和创建符号链接的能力。