{"schemaVersion":3,"id":"CVE-2026-112935","aliases":["DEBIAN-CVE-2026-112935"],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-10-20T14:32:25.740Z","modified":"2026-10-20T14:32:25.740Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":4.7,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":4.7,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":4.7,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":null,"percentile":null,"severity":"unknown","asOf":null,"change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[],"last30":[]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-367","name":"Time-of-check Time-of-use (TOCTOU) Race Condition","description":"The product checks the state of a resource before using that resource, but the resource's state can change between the check and the use in a way that invalidates the results of the check.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/367.html"}],"affected":[{"vendor":"debian","product":"python-filelock","name":"python-filelock","label":"python-filelock","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/python-filelock","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"tox-dev","product":"filelock","name":"filelock","label":"filelock","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 3.22.0, < 4.2.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.22.0, < 4.2.1","eol":null,"hubHref":"/vendor/tox-dev/filelock"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/tox-dev/filelock/security/advisories/GHSA-fq56-3cx3-fjxp","label":"github.com/tox-dev/filelock/security/advisories/GHSA-fq56-3cx3-fjxp","hostname":"github.com","tags":["X Refsource CONFIRM"]},{"url":"https://github.com/tox-dev/filelock/pull/843","label":"github.com/tox-dev/filelock/pull/843","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tox-dev/filelock/commit/740ff666b62a88496c8d7394e4e6230605e4d62b","label":"github.com/tox-dev/filelock/commit/740ff666b62a88496c8d7394e4e6230605e4d62b","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/tox-dev/filelock/releases/tag/4.2.1","label":"github.com/tox-dev/filelock/releases/tag/4.2.1","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-112935","label":"security-tracker.debian.org/tracker/CVE-2026-112935","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-20T14:32:25.740Z","label":"Published","detail":"Vulnerability first disclosed.","source":null}],"risk":{"score":19,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T12:21:26.654Z","stale":false,"partial":false}}