---
id: CVE-2026-112912
title: >-
  filelock: Symlink swap during SoftFileLock's writability check leaks whether a
  path exists and is writable by the lock taker
summary: >-
  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…
severity: low
cvss: 2.5
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N'
cvssSource: cna
cwe:
  - CWE-59
vendor: tox-dev
product: filelock
affected:
  - 'filelock >= 3.32.6, < 4.2.1'
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-20T15:37:27.795354Z'
exploitAvailable: true
published: '2026-10-20'
updated: '2026-10-20'
sourceUpdated: '2026-10-20T15:37:56.208Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112912'
references:
  - url: >-
      https://github.com/tox-dev/filelock/security/advisories/GHSA-9j6q-wvj5-jgjg
    label: >-
      https://github.com/tox-dev/filelock/security/advisories/GHSA-9j6q-wvj5-jgjg
  - url: 'https://github.com/tox-dev/filelock/pull/835'
    label: 'https://github.com/tox-dev/filelock/pull/835'
  - url: >-
      https://github.com/tox-dev/filelock/commit/e1e825b1992f69fb6b346dc395d5ae4893536c0a
    label: >-
      https://github.com/tox-dev/filelock/commit/e1e825b1992f69fb6b346dc395d5ae4893536c0a
  - url: 'https://github.com/tox-dev/filelock/releases/tag/4.2.1'
    label: 'https://github.com/tox-dev/filelock/releases/tag/4.2.1'
tags:
  - cve.org
  - exploit-available
ingestedAt: '2026-10-20T15:09:24.126Z'
---

## Overview

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.

## Affected

- `filelock >= 3.32.6, < 4.2.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
