CVE-2026-112910
Published:October 28, 2026
Updated:October 29, 2026
filelock on Windows ignores the "mode" argument. "FileLock(path, mode=0o600)" creates the same file as "FileLock(path)": one with no security descriptor of its own (the Windows record that says who may access a file). Its access list, or ACL, is whatever the lock directory hands down to new files. filelock creates the "ReadWriteLock" database, which it asks to be "0o600", the same way. In a directory whose inheritable ACL grants other local accounts access to new files, those accounts can open the lock file or database. They can take the byte-range lock (a lock on a span of bytes in a file) once the owner releases it and keep the owner's later "acquire()" calls waiting or timing out. They can read holder metadata an "on_acquired" hook left in a "preserve_lock_file=True" file. Where the directory hands down modify access, they can write to both files. "lock.mode" still reports "0o600". The documentation neither promises an ACL on Windows nor says that Windows drops the mode. On Unix the same mode keeps other accounts out. Mutual exclusion between processes that follow the protocol holds on either platform. Affected versions are filelock 3.10.0 through 4.2.0 on Windows. Anthropic's OSS Scanner reported this in private. Finding covered by this advisory: - "ANT-2026-0KEO0DDO" [medium, CWE-732]: WindowsFileLock ignores mode; 0o600 lock files inherit the directory ACL.
Affected Packages
filelock (CONDA):
Affected version(s) >=3.10.0 <4.2.1Fix Suggestion:
Update to version 4.2.1filelock (CONDA):
Affected version(s) >=4.0.1 <4.2.1Fix Suggestion:
Update to version 4.2.1https://github.com/tox-dev/filelock.git (GITHUB):
Affected version(s) >=4.0.0 <4.2.1Fix Suggestion:
Update to version 4.2.1filelock (PYTHON):
Affected version(s) >=4.0.0 <4.2.1Fix Suggestion:
Update to version 4.2.1filelock (PYTHON):
Affected version(s) >=3.10.0 <4.2.1Fix Suggestion:
Update to version 4.2.1Related Resources (5)
Do you need more information?
Contact UsCVSS v4
Base Score:
4.8
Attack Vector
LOCAL
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
LOW
Vulnerable System Availability
LOW
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
5.3
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
LOW
Integrity
LOW
Availability
LOW
Weakness Type (CWE)
Incorrect Permission Assignment for Critical Resource