Patch Forecast
Yellow warning
Plan into this sprint.

CVE-2026-112940 · GHSA-v4x8-3wr5-3wq8

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

Risk score
53/100
CVSS
7.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 3.20.4 until 4.2.1, ReadWriteLock let SQLite reopen the database and side files by name; on POSIX systems an attacker with rename access in a non-sticky parent can swap those names to cause overwrite or unlink operations, while a writable adjacent hot journ…
Affected
filelock (pip) >= 3.20.4, <= 4.2.0
Fix
Upgrade filelock to 4.2.1 or later.
Exploitation
Public proof of concept

Story map

Story map: Tox-dev FilelockTHE FLAWSTHE FIXCVE-2026-112940Filelock ReadWriteLock: SQLitereopens the lock database byname, so a planted symlink or…CVSS 7.1 · EPSS 0%CVE-2026-112936Filelock is aplatform-independent file lockfor PythonCVSS 6.1 · EPSS 0%CVE-2026-112911Filelock is aplatform-independent file lockfor PythonCVSS 6.3 · EPSS 0%CVE-2026-112934Filelock is aplatform-independent file lockfor PythonCVSS 6.1 · EPSS 0%Upgrade Tox-dev Filelock4.2.1 · 4.0.9or later on your release lineWho is exposedTox-dev Filelock before 4.0.9YELLOW · PLAN IT INTox-dev Filelockfilelock is aplatform-independent file lockfor Python. From 3.20.4 until4.0.9, ReadWriteLock andAsyncReadWriteLock versionsfrom 3.20.4 resolve the lockpath and pass it to SQLite…Where it standsPublic proof of conceptCONNECTS TOSame weaknessCWE-363 (CWE-363)1 other warning in 30 days →Same productEarlier filelock warnings7 in the last 90 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

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-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%)
  • 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-112934: Filelock is a platform-independent file lock for Python (CVSS 6.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

Why it is Yellow

  • CVSS 7.1 high
  • Public exploit or proof of concept referenced
  • On your watchlist: PyPI

Affected packages

PackageEcosystemVulnerableFixed in
filelockpip>= 3.20.4, <= 4.2.04.2.1

References

Original description

filelock is a platform-independent file lock for Python. From 3.20.4 until 4.2.1, ReadWriteLock let SQLite reopen the database and side files by name; on POSIX systems an attacker with rename access in a non-sticky parent can swap those names to cause overwrite or unlink operations, while a writable adjacent hot journal is additionally required for attacker-chosen content overwrites. This issue is fixed in version 4.2.1.

Last activity 23 Oct 2026. Patch Forecast updates every hour.