{"id":"CVE-2026-112912","summary":"filelock: Symlink swap during SoftFileLock's writability check leaks whether a path exists and is writable by the lock taker","details":"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.","aliases":["GHSA-9j6q-wvj5-jgjg"],"modified":"2026-10-22T02:48:51.605827469Z","published":"2026-10-20T14:23:18.993Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-59"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112912.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112912.json"},{"type":"FIX","url":"https://github.com/tox-dev/filelock/commit/e1e825b1992f69fb6b346dc395d5ae4893536c0a"},{"type":"FIX","url":"https://github.com/tox-dev/filelock/pull/835"},{"type":"WEB","url":"https://github.com/tox-dev/filelock/releases/tag/4.2.1"},{"type":"ADVISORY","url":"https://github.com/tox-dev/filelock/security/advisories/GHSA-9j6q-wvj5-jgjg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112912"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tox-dev/filelock","events":[{"introduced":"4efd93e0482e8095a0b6949fb337206e7f67495d"},{"fixed":"60331bb89f325020b48bc51bde904c6446384e4a"},{"fixed":"e1e825b1992f69fb6b346dc395d5ae4893536c0a"}],"database_specific":{"extracted_events":[{"strategy":"StringRangeExpression","range":[{"introduced":"3.32.6"},{"fixed":"4.2.1"}],"source":"AFFECTED_FIELD"},{"range":[{"fixed":"e1e825b1992f69fb6b346dc395d5ae4893536c0a"}],"source":"REFERENCES_COMMIT"},{"original_tag":"4.2.1","range":[{"fixed":"60331bb89f325020b48bc51bde904c6446384e4a"}],"source":"REFERENCES_TAG"}]}}],"versions":["4.2.0","4.1.2","4.1.1","4.1.0","4.0.12","4.0.11","4.0.10","4.0.9","4.0.8","4.0.7","4.0.6","4.0.5","4.0.4","4.0.3","4.0.2","4.0.1","4.0.0","3.32.7","3.32.6"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-112912.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N"}]}