MCPVault: PathFilter restricted-directory deny-list bypass via case and trailing dot/space equivalence
Moderate severity
GitHub Reviewed
Published
Jun 17, 2026
in
bitbonsai/mcpvault
•
Updated Jul 20, 2026
Description
Published to the GitHub Advisory Database
Jun 18, 2026
Reviewed
Jun 18, 2026
Last updated
Jul 20, 2026
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.mdslipped past the.git/.obsidian/node_modulesrestriction while the OS opened the real file. On Windows, trailing dots/spaces (.git./config,.git /config) bypassed it the same way. Affects bothisAllowed(read/write/move/search) andisAllowedForListing. 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