GHSA-j99q-93c9-h869
MCPVault: PathFilter restricted-directory deny-list bypass via case and trailing dot/space equivalence
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @bitbonsai/mcpvault | < 0.11.4 | 0.11.4 |
Details
As written in the advisory (Markdown source, shown as plain text).
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.
References
External links from the advisory. They lead to third-party sites.