CVE-2026-112912 filelock: Symlink swap during SoftFileLock's writability check leaks whether a path exists and is writable by the lock taker
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-112912?
CVE-2026-112912 is a low-severity vulnerability in tox-dev filelock, published on 20 Oct 2026.
Official description
filelock is a platform-independent file lock for Python. From 3.32.6 until 4.2.1, SoftFileLock can follow a swapped symbolic link during the conditional os.access writability check for a node without its owner-write bit, allowing another local user on a platform and directory configuration that follows the link to infer whether a chosen path exists and is writable from the observable acquisition result. This issue is fixed in version 4.2.1.
Weakness: CWE-59
Which versions are affected by CVE-2026-112912?
2 open source packages ship an affected version, including filelock. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
filelock PyPI | From 3.32.6 | 4.2.1 |
filelock PyPI | From 3.32.6 | 4.2.1 |
Products include Tox-Dev Filelock.
How do I fix CVE-2026-112912?
Upgrade filelock to 4.2.1 or later.
Is CVE-2026-112912 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-112912 exists.
Other vulnerabilities in tox-dev filelock
- CVE-2026-112940 filelock ReadWriteLock: SQLite reopens the lock database by name, so a planted symlink or journal file makes the lock user's process overwrite or unlink its own files
- CVE-2026-112911 filelock: StrictSoftFileLock and SoftReadWriteLock adopt a protocol directory another user created first, losing mutual exclusion
- CVE-2025-68146 filelock has TOCTOU race condition that allows symlink attacks during lock file creation
- CVE-2026-112909 filelock: UnixFileLock truncates and chmods any regular file another user renames or hard-links onto the lock path
- CVE-2026-112934 filelock: SoftReadWriteLock holder refresh writes through a hard link and hangs on a named pipe that another local user renames over its record
Sources
Also known as CLEANSTART-2026-AQ00517, DEBIAN-CVE-2026-112912, GHSA-9j6q-wvj5-jgjg, UBUNTU-CVE-2026-112912.