CVE-2026-112937 · GHSA-jqc4-5cvw-7w85
filelock: ReadWriteLock on the hard-link route deletes any directory another user renames onto its .filelock-* link directory name
- Risk score
- 47/100
- CVSS
- 6.1 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, ReadWriteLock can remove a randomized .filelock-* private-hard-link directory during cleanup, allowing another local user with rename access in a non-sticky parent to observe a live name or forge a dead-owner sweep name and rename a sibli…
- 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-112937: ReadWriteLock on the hard-link route deletes any directory another user renames onto its .filelock-* link directory name (CVSS 6.1 · 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 weakness: CWE-367 (CWE-367). 47 other warnings in 30 days
- Same product: Earlier filelock warnings. 7 in the last 90 days
Why it is Yellow
- CVSS 6.1 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/5e3f2ec0c5fb17cb2635b60b2b68bc63ab81ca2d
- https://github.com/tox-dev/filelock/pull/834
- https://github.com/tox-dev/filelock/releases/tag/4.2.1
- https://github.com/tox-dev/filelock/security/advisories/GHSA-jqc4-5cvw-7w85
- https://github.com/advisories/GHSA-jqc4-5cvw-7w85
- https://nvd.nist.gov/vuln/detail/CVE-2026-112937
- https://github.com/advisories/GHSA-jqc4-5cvw-7w85
Original description
filelock is a platform-independent file lock for Python. From 4.1.0 until 4.2.1, ReadWriteLock can remove a randomized .filelock-* private-hard-link directory during cleanup, allowing another local user with rename access in a non-sticky parent to observe a live name or forge a dead-owner sweep name and rename a sibling directory onto it for deletion. This issue is fixed in version 4.2.1.
Last activity 23 Oct 2026. Patch Forecast updates every hour.