Description
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 creation and locking or split mutual exclusion between targets. This issue is fixed in version 4.0.9.
Published: 2026-10-20
Score: 6.1 Medium
EPSS: n/a
KEV: No
Impact: Local Privilege Escalation via Symlink Manipulation of SQLite Lock Files
Action: Immediate Patch
AI Analysis

Impact

The vulnerability exists in filelock versions 3.20.4 through 4.0.8, where ReadWriteLock and AsyncReadWriteLock resolve the lock path and allow a symbolic link at the lock file location. The library passes the resolved path to SQLite without rejecting a trailing symlink, so a local user who has write access to the lock directory can create a symlink pointing to an arbitrary location. When the affected application subsequently creates the SQLite database, the database file is created at the location the symlink points to or the existing database is locked incorrectly. This can allow the local user to divert the database contents, corrupt the database, or, if the application runs with elevated privileges, cause data tampering or privilege escalation.

Affected Systems

This affects the tox‑dev filelock Python library, versions 3.20.4 to 4.0.8 inclusive. The fix is applied in release 4.0.9. Any Python application that depends on filelock 3.20.4–4.0.8 and creates SQLite databases or locks under a directory writable by other local users is potentially affected.

Risk and Exploitability

The CVSS score is 6.1, indicating moderate severity. EPSS is not available, and the issue is not listed in CISA KEV. The exploit requires local user access to the lock directory; no remote exploits are described. An attacker with local file‑write capability could redirect or corrupt the SQLite database, potentially leading to privilege escalation if the application runs with higher permissions. While no public exploits are documented, the possibility of local misuse warrants patching.

Generated by OpenCVE AI on October 20, 2026 at 17:29 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the filelock package to version 4.0.9 or later to eliminate the symlink handling flaw
  • Restrict write permissions on the directory used for lock files so that only the application user can create or modify files there
  • Review your Python application code to ensure that the lock directory is not exposed to untrusted users or processes; consider moving the lock directory to a secure, non‑world‑writable location
  • If an immediate upgrade is not possible, monitor the lock directory for unexpected symlinks and audit the system for unauthorized file creation

Generated by OpenCVE AI on October 20, 2026 at 17:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 20 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 20 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Tox-dev
Tox-dev filelock
Vendors & Products Tox-dev
Tox-dev filelock

Tue, 20 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description 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 creation and locking or split mutual exclusion between targets. This issue is fixed in version 4.0.9.
Title filelock: ReadWriteLock follows a symlink at the lock path into SQLite
Weaknesses CWE-59
CWE-668
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L'}


Subscriptions

Tox-dev Filelock
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T16:47:39.872Z

Reserved: 2026-10-19T21:30:47.244Z

Link: CVE-2026-112936

cve-icon Vulnrichment

Updated: 2026-10-20T16:47:31.408Z

cve-icon NVD

Status : Received

Published: 2026-10-20T15:17:16.383

Modified: 2026-10-20T17:17:32.397

Link: CVE-2026-112936

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T17:30:13Z

Weaknesses
  • CWE-59

    Improper Link Resolution Before File Access ('Link Following')

  • CWE-668

    Exposure of Resource to Wrong Sphere