CVE-2026-112914 · GHSA-crv4-6mhj-j5jh
filelock: SoftFileLock stale-break restore follows a swapped-in symbolic link and hard-links a file of the user running the lock into the lock directory
- Risk score
- 42/100
- CVSS
- 5.3 v3.1
- Exploit chance (30 days)
- 0.1%
- Published
- 20 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, SoftFileLock can restore a stale marker by name after moving it aside, allowing another local user with rename access in a non-sticky lock directory to swap in a symbolic link and, on a runtime that follows the link and a same-filesystem …
- Affected
- filelock (pip) >= 4.1.0, <= 4.2.0
- Fix
- Upgrade filelock to 4.2.1 or later.
- Exploitation
- Public proof of concept
Story map
At a glance
Tox-dev Filelock: Yellow, plan it in. filelock is a platform-independent file lock for Python. From 3.20.4 until 4.0.9, ReadWriteLock and AsyncReadWriteLock versions from 3.20.4 resolve the lock path and pass it to SQLite without rejecting a final symbolic link, allowing another local user who can create names in the lock directory to redirect database cr…
The flaws
- CVE-2026-112914: SoftFileLock stale-break restore follows a swapped-in symbolic link and hard-links a file of the user running the lock into the lock directory (CVSS 5.3 · EPSS 0%)
- CVE-2026-112936: Filelock is a platform-independent file lock for Python (CVSS 6.1 · EPSS 0%)
- CVE-2026-112911: Filelock is a platform-independent file lock for Python (CVSS 6.3 · EPSS 0%)
- 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 (CVSS 7.1 · EPSS 0%)
The fix
Upgrade Tox-dev Filelock: 4.2.1 · 4.0.9 or later on your release line
Who is exposed: Tox-dev Filelock before 4.0.9
Where it stands
- Public proof of concept
Connects to
- Same product: Earlier filelock warnings. 7 in the last 90 days
Why it is Yellow
- CVSS 5.3 medium
- Public exploit or proof of concept referenced
- On your watchlist: PyPI
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| filelock | pip | >= 4.1.0, <= 4.2.0 | 4.2.1 |
References
- https://github.com/tox-dev/filelock/commit/740ff666b62a88496c8d7394e4e6230605e4d62b
- https://github.com/tox-dev/filelock/pull/843
- https://github.com/tox-dev/filelock/releases/tag/4.2.1
- https://github.com/tox-dev/filelock/security/advisories/GHSA-crv4-6mhj-j5jh
- https://github.com/advisories/GHSA-crv4-6mhj-j5jh
- https://nvd.nist.gov/vuln/detail/CVE-2026-112914
- https://github.com/advisories/GHSA-crv4-6mhj-j5jh
Original description
filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, SoftFileLock can restore a stale marker by name after moving it aside, allowing another local user with rename access in a non-sticky lock directory to swap in a symbolic link and, on a runtime that follows the link and a same-filesystem target, make the lock user hard-link one of its files into the lock directory. This issue is fixed in version 4.2.1.
Last activity 23 Oct 2026. Patch Forecast updates every hour.