Home

Description

filelock is a platform-independent file lock for Python. Prior to version 3.20.3, a TOCTOU race condition vulnerability exists in the SoftFileLock implementation of the filelock package. An attacker with local filesystem access and permission to create symlinks can exploit a race condition between the permission validation and file creation to cause lock operations to fail or behave unexpectedly. The vulnerability occurs in the _acquire() method between raise_on_not_writable_file() (permission check) and os.open() (file creation). During this race window, an attacker can create a symlink at the lock file path, potentially causing the lock to operate on an unintended target file or leading to denial of service. This issue has been patched in version 3.20.3.

PUBLISHED Reserved 2026-01-08 | Published 2026-01-10 | Updated 2026-01-12 | Assigner GitHub_M




MEDIUM: 5.3CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H

Problem types

CWE-59: Improper Link Resolution Before File Access ('Link Following')

CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition

Product status

< 3.20.3
affected

References

github.com/...lelock/security/advisories/GHSA-qmgc-5h2g-mvrw

github.com/...ommit/255ed068bc85d1ef406e50a135e1459170dd1bf0

github.com/...ommit/41b42dd2c72aecf7da83dbda5903b8087dddc4d5

cve.org (CVE-2026-22701)

nvd.nist.gov (CVE-2026-22701)

Download JSON