CVE-2026-112938 is a TOCTOU (time-of-check-to-time-of-use) symlink-following vulnerability in filelock's StrictSoftFileLock (and AsyncStrictSoftFileLock). The lock checks <path>.filelock with a single lstat call, then reaches <path>.filelock/claims by pathname for every subsequent operation (mkdir, scan, publish, link, unlink). _open_directory passes O_NOFOLLOW, but that flag only protects the final claims component; the kernel still follows a symlink in the earlier <path>.filelock component. An attacker who can rename <path>.filelock (e.g., in a non-sticky shared directory) uses renameat2(RENAME_EXCHANGE) to swap in a symlink between the lstat and the next mkdir, causing the lock user's process to create the claims directory and claim files inside an attacker-chosen directory. The fix (PR #839, commit bfa066d) replaces by-name resolution with descriptor-relative access: it opens <path>.filelock with O_NOFOLLOW and reaches claims relative to that descriptor via dir_fd/openat, and pins the claim directory during publication, release, and force_break. The vulnerable functions are those that performed by-name resolution of the claim directory: the acquire entry point (_acquire), the doorway (_attempt_doorway), the claims property, force_break, and the helper functions _ensure_protocol_directory, _open_directory, _read_existing_claims, _list_claim_names, _publish_record, _link_no_replace, _unlink_in_directory, _filesystem_now, and _require_exact_name. All of these exist in the vulnerable version (>= 3.30.0, <= 4.2.0) and were modified by the patch to use descriptor-relative access.