Race condition in filelock SoftFileLock admits two lock holders
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Partial Red Hat: 15 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
filelock for Python, from 3.22.0 before 4.2.1, has a time-of-check time-of-use race condition (CWE-367) in SoftFileLock stale lock handling. A local attacker with low privileges can free its own marker after a stale read, so a live lock file is removed and two holders are admitted. A proof-of-concept exploit is linked in the references.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
filelock is a platform-independent file lock for Python. From 3.22.0 until 4.2.1, SoftFileLock can break a stale marker after an attacker frees its own marker following the stale read, an honest contender creates a live successor on the reused inode, and the successor's modification time is not newer than the saved observation, causing the live marker to be removed and two holders to be admitted. This issue is fixed in version 4.2.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tox-dev | filelock | 3.22.0 to before 4.2.1 | 4.2.1 | Patch available | CNA |
| — | filelock (PyPI) | 3.22.0 to before 4.2.1 | 4.2.1 | Patch available | GHSA-fq56-3cx3-fjxp |
- filelock Vendortox-dev Affected 3.22.0 to before 4.2.1 Fixed in 4.2.1 Patch available CNA
- filelock (PyPI) Vendor— Affected 3.22.0 to before 4.2.1 Fixed in 4.2.1 Patch available GHSA-fq56-3cx3-fjxp
Remediation
Upgrade filelock to version 4.2.1, the fixed version in the PyPI package. Red Hat lists these products as affected with no fix available: Ansible Automation Orchestrator 2026 (none available), Exploit Intelligence (no fix planned), Lightspeed Core (none available), Lightspeed Services for Advanced Cluster Management (none available), OpenShift Lightspeed (none available) and other products.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA filelock (tox-dev) Fixed in 4.2.1
- Fix · GHSA-fq56-3cx3-fjxp filelock (PyPI) Fixed in 4.2.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Ansible Automation Orchestrator 2026 | Affected | No fix yet: Fix deferred |
| Exploit Intelligence | Affected | No fix planned: Out of support scope |
| Lightspeed Core | Affected | No fix yet: Fix deferred |
| Lightspeed Services for Advanced Cluster Management | Affected | No fix yet: Fix deferred |
| OpenShift Lightspeed | Affected | No fix yet: Fix deferred |
| Pen Drive Powered by Red Hat Lightspeed | Affected | No fix yet: Fix deferred |
| Red Hat AI Inference Server | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform Ansible Core 2 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet: Fix deferred |
| Red Hat Lightspeed Services for OCP | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Dev Spaces | Affected | No fix yet: Fix deferred |
| Red Hat Satellite 6 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-20 Threatist record created from CVE-2026-112935
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 CVSS score added · Red Hat
- 2026-10-28 CISA SSVC decision points changed
- 2026-10-28 Priority changed: LOW → MEDIUM
- 2026-10-28 Alias added: GHSA-fq56-3cx3-fjxp
- 2026-10-28 Fix available: PyPI/[email protected] · GHSA-fq56-3cx3-fjxp
- 2026-10-28 CVSS score added · GHSA-fq56-3cx3-fjxp
- 2026-10-28 Weakness changed · GHSA-fq56-3cx3-fjxp
- 2026-10-28 6 new references · GHSA-fq56-3cx3-fjxp
References
Patch 2
More tox-dev Filelock vulnerabilities
- TI-2026-76862 Symlink race in filelock ReadWriteLock lets attackers overwrite files CVSS 3.1HIGH 7.1
- TI-2026-76853 filelock soft locks adopt directories created by other local users CVSS 3.1MEDIUM 6.3
- TI-2026-76859 Symlink following in filelock ReadWriteLock redirects SQLite database CVSS 3.1MEDIUM 6.1
- TI-2026-76857 Unsafe holder record refresh in filelock SoftReadWriteLock CVSS 3.1MEDIUM 6.1
- TI-2026-76852 filelock UnixFileLock truncates files placed on the lock path CVSS 3.1MEDIUM 6.1
- TI-2026-76856 Crafted lock database makes filelock ReadWriteLock acquisitions hang CVSS 3.1MEDIUM 5.5
Sources
- CVE-2026-112935 · CVE Program
- CVE-2026-112935 · NVD
- FIRST EPSS
- GHSA-fq56-3cx3-fjxp · GitHub Advisory Database · CC BY 4.0
- CVE-2026-112935 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences