CVE-2026-22701: CWE-59: tox-dev filelock 中的链接解析不当漏洞(链接跟随) - 实时威胁情报
严重性:中 类型:漏洞
CVE-2026-22701
filelock 是一个平台无关的 Python 文件锁。在 3.20.3 版本之前,filelock 包的 SoftFileLock 实现中存在一个 TOCTOU 竞争条件漏洞。具有本地文件系统访问权限和创建符号链接权限的攻击者可以利用权限验证和文件创建之间的竞争条件,导致锁操作失败或行为异常。该漏洞发生在 _acquire() 方法中的 raise_on_not_writable_file() (权限检查)和 os.open() (文件创建)之间。在此竞争窗口内,攻击者可以在锁文件路径处创建一个符号链接,可能导致锁操作非预期的目标文件,或导致拒绝服务。此问题已在 3.20.3 版本中修复。
AI 分析
技术总结
CVE-2026-22701 标识了 Python filelock 包 3.20.3 之前版本中 SoftFileLock 实现存在的一个“检查时间到使用时间”(TOCTOU)竞争条件漏洞。该漏洞出现在 _acquire() 方法中,具体是在权限验证函数 raise_on_not_writable_file() 与随后创建锁文件的 os.open() 调用之间。在这个小的竞争窗口内,拥有本地文件系统访问权限和创建符号链接能力的攻击者可以在锁文件路径处引入一个符号链接。这导致锁操作作用于非预期的目标文件或目录,可能导致锁失败或行为不可预测。其后果可能是通过阻止正常获取锁而导致拒绝服务(DoS),或对无意锁定的文件产生意外的副作用。该漏洞归类于 CWE-59(访问文件前链接解析不当)、CWE-362(竞争条件)和 CWE-367(检查时间到使用时间竞争条件)。利用此漏洞需要具有创建符号链接权限的本地访问,无需用户交互,且由于需要精确的时序把握,攻击复杂度较高。CVSS v3.1 基本评分为 5.3(中等严重性),反映了无机密性影响、有限的完整性影响,但具有较高的可用性影响。目前没有已知的野外利用报告。此问题已在 filelock 3.20.3 版本中通过消除锁获取过程中的竞争条件得到修复。
潜在影响
对于欧洲组织,此漏洞的主要影响在于可能破坏依赖 filelock 包进行同步和并发控制的应用程序或服务。不正确的锁定可能导致应用程序逻辑中的竞争条件、数据损坏,或在关键进程无法获取必要锁定时出现拒绝服务场景。这可能影响软件开发环境、自动化构建系统、CI/CD 流水线以及任何使用 filelock 进行文件同步的基于 Python 的服务。虽然机密性未直接受到影响,但依赖于 filelock 的操作的完整性和可用性可能受到损害。在内部或共享的开发环境中,用户拥有本地访问权限并能创建符号链接的组织风险更高。该漏洞可能被恶意内部人员或获得有限本地访问权限的攻击者利用。由于没有已知的利用,降低了即时风险,但中等严重性评分和易于修补的特性意味着组织应优先进行修复以避免潜在的中断。
缓解建议
欧洲组织应立即将 filelock 包升级到 3.20.3 或更高版本,以消除 TOCTOU 竞争条件。对于无法立即升级的环境,应考虑限制本地文件系统权限,以防止不受信任的用户创建符号链接,尤其是在创建锁文件的目录中。实施监控以检测异常的符号链接创建或意外的锁文件行为。审查并加强开发服务器和构建服务器的访问控制,仅限受信任人员本地访问。此外,考虑使用不依赖于文件系统锁或已验证无此类竞争条件的替代锁定机制。纳入安全测试和代码审查实践,以在自定义同步代码中检测类似的 TOCTOU 漏洞。最后,保持对依赖项更新的关注并及时应用安全补丁。
受影响国家
德国,法国,英国,荷兰,瑞典,芬兰,丹麦,爱尔兰
来源: CVE Database V5 发布日期: 2026年1月10日 星期六
技术详情
数据版本: 5.2 分配者简称: GitHub_M 日期预留: 2026-01-08T19:23:09.856Z CVSS版本: 3.1 状态: PUBLISHED 威胁 ID: 6961ed34c540fa4b542a0971 添加到数据库时间: 2026年1月10日 上午6:09:56 最后丰富时间: 2026年1月10日 上午6:24:17 最后更新时间: 2026年1月11日 下午11:00:48 浏览次数: 24