从该网页截图中,可以获取到以下关于漏洞的关键信息: 漏洞简介 标题: Time-of-Check-Time-of-Use (TOCTOU) Symlink Vulnerability in SoftFileLock CVE ID: CVE-2026-22701 漏洞影响 受影响版本: <3.20.3 已修复版本: 3.20.3 漏洞详情 描述: 存在TOCTOU竞态条件漏洞,攻击者可以通过创建符号链接利用文件锁权限验证和文件创建之间的竞态条件,导致锁定操作失败或行为不可预测。 受影响组件: filelock包 - SoftFileLock类 文件路径: src/filelock/_soft.py 行17-27 CWE: CWE-362, CWE-367, CWE-59 攻击场景 1. 锁尝试在 /tmp/app.lock 上获取锁。 2. 权限验证通过。 3. [竞态窗口] - 攻击者创建符号链接: ln -s /tmp/important.txt /tmp/app.lock。 4. os.open() 尝试创建锁文件。 5. 锁在攻击者控制的目标文件上操作或失败。 影响 受影响用户: - 直接使用 filelock.SoftFileLock 的应用。 - 在没有 fcntl 支持的系统上使用后备 FileLock 的应用(如GraalPy)。 后果: - 静默锁定获取失败 - 应用可能无法检测到资源独占访问不受保证。 - 服务拒绝 - 攻击者通过保持符号链接阻止锁定文件创建。 - 资源序列化失败 - 多个进程可能同时获取“锁”。 - 意外文件操作 - 锁可能在攻击者控制的文件上操作。 修复措施 已修复: 通过添加O_NOFOLLOW标志防止锁定文件创建期间的符号链接跟随。 建议: 升级到已修复版本。 版本信息 修复版本: 3.20.3 缓解措施 在安全敏感上下文中避免使用SoftFileLock,可以考虑使用UnixFileLock或WindowsFileLock。 限制文件系统权限,防止未经授权的用户在锁定文件目录中创建符号链接。 使用进程隔离,将不受信任的代码与锁定文件路径隔离,以防止符号链接创建。 监控锁定操作,实施应用程序级别的检查以验证锁定获取成功后再执行关键操作。