Skip to main content
VulnerabilityPublished Updated

CVE-2025-68146: tox-dev filelock · Time-of-check Time-of-use (TOCTOU) Race Condition

Affects tox-dev filelockSource CVE Database V5

0

Not known to be exploited · CVSS 6.3 Medium : upgrade to 3.20.1 when convenient.

Data as of 26 Oct 2026, 12:29 UTC

CVSS 3.1 base score
6.3Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 9% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 3.20.1
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 16 Dec 2025

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade tox-dev filelock to 3.20.1.

Affected software

ProductAffectedFixed in
PyPIfilelockpkg:pypi/filelockOther threatsAffected
  • <3.20.1
Fixed in
  • 3.20.1

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

  1. Upgrade filelock to version 3.20.1 immediately to fully remediate the vulnerability.
  2. If upgrading is not immediately feasible, replace UnixFileLock/WindowsFileLock with SoftFileLock, understanding that it uses different locking semantics and may not suit all use cases.
  3. Restrict permissions on directories used for lock files to 0700 (owner-only access) to prevent untrusted users from creating symlinks in these locations.
  4. Implement monitoring and alerting for the presence of unexpected or suspicious symlinks in lock file directories to detect potential exploitation attempts.
  5. Limit local user access on systems where filelock is used, especially in shared or multi-user environments, to reduce the risk of unauthorized symlink creation.
  6. Review and harden development and CI/CD environments that rely on filelock to ensure minimal exposure to untrusted users.
  7. Educate developers and system administrators about the risks of TOCTOU race conditions and the importance of atomic file operations.
  8. Consider using alternative file locking mechanisms that do not rely on the vulnerable check-then-open pattern if filelock cannot be upgraded promptly.

Description

filelock is a platform-independent file lock for Python. In versions prior to 3.20.1, a Time-of-Check-Time-of-Use (TOCTOU) race condition allows local attackers to corrupt or truncate arbitrary user files through symlink attacks. The vulnerability exists in both Unix and Windows lock file creation where filelock checks if a file exists before opening it with O_TRUNC. An attacker can create a symlink pointing to a victim file in the time gap between the check and open, causing os.open() to follow the symlink and truncate the target file. All users of filelock on Unix, Linux, macOS, and Windows systems are impacted. The vulnerability cascades to dependent libraries. The attack requires local filesystem access and ability to create symlinks (standard user permissions on Unix; Developer Mode on Windows 10+). Exploitation succeeds within 1-3 attempts when lock file paths are predictable. The issue is fixed in version 3.20.1. If immediate upgrade is not possible, use SoftFileLock instead of UnixFileLock/WindowsFileLock (note: different locking semantics, may not be suitable for all use cases); ensure lock file directories have restrictive permissions (chmod 0700) to prevent untrusted users from creating symlinks; and/or monitor lock file directories for suspicious symlinks before running trusted applications. These workarounds provide only partial mitigation. The race condition remains exploitable. Upgrading to version 3.20.1 is strongly recommended.

References

Community reviews

Loading reviews…