LOWCVSS 2.5Vulnerability

CVE-2026-112907

On Windows the soft locks (`SoftFileLock`, `MarkerSoftFileLock`, `SoftFileLease`, their async forms, and a `FileLock` that fell back to a soft lock) read their marker by path. The marker is the lock file whose presence says a process holds the lock. Each `acquire()` attempt that finds a marker opens it with `os.open` to read the holder's process id, and the lock renames and deletes a marker it judges stale, by path. On Windows each of these calls waits for an oplock. An oplock (opportunistic lock) is a request by a process that holds a handle on a file to be told before another process opens, renames or deletes that file; the other process waits until the holder answers the break or closes its handle. Another local account that can open the marker for reading can take a Level 1 oplock on it while no process holds it open, and leave the break unanswered. Every `acquire()` by the user running the lock (below: the lock user) then waits inside the open, past its `timeout`, `blocking=False` and `cancel_check`, and a stale marker under that oplock is not broken. Mutual exclusion holds and the lock touches no other file. Affected versions are filelock 3.22.0 through 4.2.0 on Windows. The maintainers found this while reviewing the fix for the report Anthropic's OSS Scanner sent on 15 October 2026 (review round 4, finding F4); it is not among the scanner's findings. ## Severity **CVSS 3.1 `CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L` scores 2.5 (Low).** `AV:L` (local): the other account needs a logon on the same host. `AC:H` (high attack complexity): Windows grants a Level 1 or batch oplock only to the sole open handle on a file, so the marker must have no holder handle when the other account asks. That account cannot bring this about; it waits for a holder that died, closed its descriptor, or left a marker past its `lifetime`. `PR:L` (low privileges): an ordinary account with read access to the marker through the directory's inherited ACL (access control list). `UI:N`

Properties

Severity
low
Summary
filelock: On Windows an oplock on a soft lock's marker holds SoftFileLock.acquire() past its timeout and blocks the stale break
Cvss score
2.5
Retrieved at
2026-10-23T22:32:28+00:00
Ghsa published
2026-10-23T22:27:32Z
Source url
https://github.com/advisories/GHSA-567q-5qvw-pf92
Ghsa updated
2026-10-23T22:27:34Z
Ghsa id
GHSA-567q-5qvw-pf92
Last source
GitHub Advisory Database
Cve id
CVE-2026-112907
Cvss vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
First seen by Signal
2026-10-23T22:32:28+00:00
Is ghsa only
false

Related Entities (3)

AFFECTS (1)

→[Software]pip/filelock

HAS_WEAKNESS (1)

→[Weakness]Improper Locking

VULNERABLE_TO (1)

←[Software]pip/filelock

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-112907 (CVSS 2.5) — Ninja Signal Threat Intelligence | Ninja Signal