{"id":"GHSA-j99q-93c9-h869","summary":"MCPVault: PathFilter restricted-directory deny-list bypass via case and trailing dot/space equivalence","details":"On case-insensitive filesystems (macOS, Windows), PathFilter compiled its deny-list patterns case-sensitively and matched the path verbatim, so names like `.Git/config`, `.GIT/config`, or `.oBsIdIaN/secrets.md` slipped past the `.git`/`.obsidian`/`node_modules` restriction while the OS opened the real file. On Windows, trailing dots/spaces (`.git./config`, `.git /config`) bypassed it the same way. Affects both `isAllowed` (read/write/move/search) and `isAllowedForListing`. Vault-root `..` containment is NOT affected. Fixed in 0.11.4 by case-insensitive matching plus per-segment canonicalization before the deny-list check. Reported privately by novice-22.","aliases":["CVE-2026-57441"],"modified":"2026-07-20T21:56:44.800003Z","published":"2026-06-18T14:30:43Z","database_specific":{"cwe_ids":["CWE-178","CWE-41"],"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2026-06-18T14:30:43Z","nvd_published_at":null},"references":[{"type":"WEB","url":"https://github.com/bitbonsai/mcpvault/security/advisories/GHSA-j99q-93c9-h869"},{"type":"PACKAGE","url":"https://github.com/bitbonsai/mcpvault"}],"affected":[{"package":{"name":"@bitbonsai/mcpvault","ecosystem":"npm","purl":"pkg:npm/%40bitbonsai/mcpvault"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.11.4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-j99q-93c9-h869/GHSA-j99q-93c9-h869.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"}]}