The vulnerability lies in the PathFilter class, which is responsible for preventing access to restricted directories and files. The advisory states that the deny-list check was case-sensitive and did not account for path equivalence on certain file systems (macOS, Windows). This allowed bypassing the filter using variations in casing (e.g., .GIT instead of .git) or by appending trailing dots or spaces to directory names on Windows (e.g., .git.). The affected functions are isAllowed and isAllowedForListing, which are the public methods of the PathFilter class used to check paths. The root cause of the vulnerability is within the private helper function isIgnoredPath, which was responsible for the flawed check. The fix, as seen in the provided file content of src/pathfilter.ts, involves two main changes: 1. The simpleGlobMatch function now uses a case-insensitive regex (new RegExp(regexPattern, 'i')). 2. A new function canonicalizeForMatch was introduced to remove trailing dots and spaces from path segments before the check. The isIgnoredPath function was updated to use this canonicalization. Therefore, any runtime profile during exploitation would show calls to PathFilter.isAllowed or PathFilter.isAllowedForListing, which in turn call PathFilter.isIgnoredPath.