{"id":"CVE-2026-93335","kind":"vulnerability","aliases":["CVE-2026-93335"],"related":[],"title":"HashiCorp Vault: trailing slash lets a user bypass ACL deny rules","description":"Vault Community Edition and Vault Enterprise did not consistently apply explicit ACL policy deny rules to request paths that differ only by a trailing slash. This may allow an authenticated user who holds a broader delete permission on system configuration paths to disable a secrets engine, auth method, or audit device that a more specific deny rule was intended to protect. This vulnerability (CVE-2026-93335) is fixed in Vault Community Edition 2.2.2 and Vault Enterprise 2.2.2, 1.21.14, and 1.19.25.","summary":"Vault did not apply explicit ACL deny rules to request paths that differ only by a trailing slash. An authenticated user with broad delete permission on system configuration paths could disable a secrets engine, auth method, or audit device that a deny rule was meant to protect.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","kubernetes","self-hosted","vault"],"not_affected_if":["no-explicit-acl-deny-rules","unauthenticated-only"],"how_to_check":"- Check the Vault version with `vault version`\n- Review ACL policies for explicit deny rules on `sys/mounts`, `sys/auth`, or `sys/audit` paths and for broad delete grants","fix":"- Vault Community Edition: `2.2.2`\n- Vault Enterprise: `2.2.2`, `1.21.14`, `1.19.25`","status":"open","published_at":"2026-11-13T00:20:19+00:00","first_seen_at":"2026-11-13T00:41:07+00:00","triaged_at":"2026-11-13T00:41:17+00:00","updated_at":"2026-11-13T00:41:17+00:00","category":"infrastructure","confidence":0.7,"triage":{"at":"2026-11-13T00:41:17Z","model":"claude-haiku-5-5","output":{"fix":"- Vault Community Edition: `2.2.2`\n- Vault Enterprise: `2.2.2`, `1.21.14`, `1.19.25`","reach":"network","title":"HashiCorp Vault: trailing slash lets a user bypass ACL deny rules","impact":"medium","summary":"Vault did not apply explicit ACL deny rules to request paths that differ only by a trailing slash. An authenticated user with broad delete permission on system configuration paths could disable a secrets engine, auth method, or audit device that a deny rule was meant to protect.","audience":"businesses","category":"infrastructure","nicknames":[],"who_cares":["vault","self-hosted","kubernetes"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"authenticated user disables a secrets engine or audit device","analyst_note":"","how_to_check":"- Check the Vault version with `vault version`\n- Review ACL policies for explicit deny rules on `sys/mounts`, `sys/auth`, or `sys/audit` paths and for broad delete grants\n- unknown for other checks","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-explicit-acl-deny-rules","unauthenticated-only"],"who_is_affected":"Teams running HashiCorp Vault Community Edition or Enterprise that rely on explicit ACL deny rules to protect system configuration paths. The attacker must already hold an authenticated token with a broader delete permission. Teams that do not use explicit deny rules on these paths are less exposed.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000757,"input_tokens":4683,"output_tokens":578,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A,135C '-93335':14A,17A,136C '1.19.25':150C '1.21.14':148C '2.2.2':143C,147C 'acl':9A,29B,82C 'allow':98C 'appli':27B,80C 'audit':61B,120C 'auth':58B,117C 'authent':43B,100C 'broad':46B 'broader':105C 'bypass':8A 'communiti':72C,141C 'configur':51B,110C 'consist':79C 'could':53B 'cve':12A,15A,134C 'delet':47B,106C 'deni':10A,30B,65B,84C,126C 'devic':62B,121C 'differ':36B,90C 'disabl':54B,113C 'edit':73C,142C 'engin':57B,116C 'enterpris':76C,146C 'explicit':28B,81C 'fix':138C 'hashicorp':1A 'hold':103C 'host':22B 'infrastructur':18B 'intend':129C 'kubernet':19B 'let':5A 'may':97C 'meant':68B 'method':59B,118C 'path':34B,52B,88C,111C 'permiss':48B,107C 'polici':83C 'protect':70B,131C 'request':33B,87C 'rule':11A,31B,66B,85C,127C 'secret':56B,115C 'self':21B 'self-host':20B 'slash':4A,41B,95C 'specif':125C 'system':50B,109C 'trail':3A,40B,94C 'user':7A,44B,101C 'vault':2A,23B,24B,71C,75C,140C,145C 'vulner':133C","nicknames":[],"mitigations":[],"who_affected":"Teams running HashiCorp Vault Community Edition or Enterprise that rely on explicit ACL deny rules to protect system configuration paths. The attacker must already hold an authenticated token with a broader delete permission. Teams that do not use explicit deny rules on these paths are less exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["infrastructure","kubernetes","medium","selfhosted","vault"],"campaign_type":null,"search_a":"'-2026':13A,16A '-93335':14A,17A 'acl':9A 'bypass':8A 'cve':12A,15A 'deni':10A 'hashicorp':1A 'let':5A 'rule':11A 'slash':4A 'trail':3A 'user':7A 'vault':2A","search_b":"'acl':29B 'appli':27B 'audit':61B 'auth':58B 'authent':43B 'broad':46B 'configur':51B 'could':53B 'delet':47B 'deni':30B,65B 'devic':62B 'differ':36B 'disabl':54B 'engin':57B 'explicit':28B 'host':22B 'infrastructur':18B 'kubernet':19B 'meant':68B 'method':59B 'path':34B,52B 'permiss':48B 'protect':70B 'request':33B 'rule':31B,66B 'secret':56B 'self':21B 'self-host':20B 'slash':41B 'system':50B 'trail':40B 'user':44B 'vault':23B,24B","search_c":"'-2026':135C '-93335':136C '1.19.25':150C '1.21.14':148C '2.2.2':143C,147C 'acl':82C 'allow':98C 'appli':80C 'audit':120C 'auth':117C 'authent':100C 'broader':105C 'communiti':72C,141C 'configur':110C 'consist':79C 'cve':134C 'delet':106C 'deni':84C,126C 'devic':121C 'differ':90C 'disabl':113C 'edit':73C,142C 'engin':116C 'enterpris':76C,146C 'explicit':81C 'fix':138C 'hold':103C 'intend':129C 'may':97C 'method':118C 'path':88C,111C 'permiss':107C 'polici':83C 'protect':131C 'request':87C 'rule':85C,127C 'secret':115C 'slash':95C 'specif':125C 'system':109C 'trail':94C 'user':101C 'vault':71C,75C,140C,145C 'vulner':133C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-12T22:28:56+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H","cvss_by":"security@hashicorp.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-93335","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93335","severity":null,"published_at":"2026-11-13T00:20:19+00:00","modified_at":"2026-11-13T00:20:19+00:00","first_seen_at":"2026-11-13T00:41:07+00:00","fetched_at":"2026-11-13T00:41:07+00:00","note":null}],"documents":[{"id":140020,"url":"https://discuss.hashicorp.com/t/hcsec-2026-56-vault-vulnerable-to-acl-deny-bypass-via-trailing-slash/78199","title":"HashiCorp security: HCSEC-2026-56 - Vault vulnerable to ACL deny bypass via trailing slash","kind":"vendor","source":"vendor","publisher":null,"text":"HCSEC-2026-56 - Vault vulnerable to ACL deny bypass via trailing slash\n\nBulletin ID: HCSEC-2026-56 Affected Products / Versions: Vault and Vault Enterprise up to 2.2.1; fixed in Vault 2.2.2 and Vault Enterprise 2.2.2, 1.21.14, and 1.19.25. Publication Date: November 12, 2026 Summary Vault Community Edition and Vault Enterprise did not consistently apply explicit ACL policy deny rules to request paths that differ only by a trailing slash. This may allow an authenticated user who holds a broader delete permission on system configuration paths to disable a secrets engine, auth method, or audit device that a more specific deny rule was intended to protect. This vulnerability (CVE-2026-93335) is fixed in Vault Community Edition 2.2.2 and Vault Enterprise 2.2.2, 1.21.14, and 1.19.25. Background Vault ACL policies grant or deny capabilities on API paths. Operators can combine a broad rule, such as one granting delete on all secrets engine mount paths, with a more specific rule that explicitly denies access to an individual path. The more specific rule is intended to take precedence, so an explicit deny protects that path even when a broader rule would otherwise allow the operation. Details Vault matched exact-path and segment-wildcard ( + ) ACL rules against the request path as supplied, so a rule written for a path did not apply to the same path with a trailing slash added or removed. The system endpoints that disable secrets engines, auth methods, and audit devices treat both forms as the same resource. As a result, a request using the other form could fail to match an explicit deny rule, be authorized by a broader matching grant, and still disable the protected resource. Other operations on these paths, such as reading a secrets engine’s configuration, were similarly affected. In Vault Enterprise, Sentinel endpoint governing policies attached to exact paths were also not applied to the other form. Disabling a secrets engine removes its stored data and revokes its leases, disabling an auth method revokes the tokens issued through it, and disabling an audit device may reduce audit coverage. This issue requires an authenticated user whose policies grant delete on the broader path, and disabling auth methods and audit devices also requires the sudo capability. Deployments whose policies do not combine a broader grant with a more specific explicit deny rule on these paths are not affected. Remediation Customers should evaluate the risk associated with this issue and consider upgrading to Vault Community Edition 2.2.2 or Vault Enterprise 2.2.2, 1.21.14, or 1.19.25. After upgrading, an exact-path rule defined for only one form of a path, with or without a trailing slash, also applies to the other form, so operators should review policies that rely on the two forms being governed by different rules. Acknowledgement This issue was reported to HashiCorp by Tal Vaknin and other internal and external parties. We deeply appreciate any effort to coordinate disclosure of security vulnerabilities. For information about security at HashiCorp and the reporting of security vulnerabilities, please see https://hashicorp.com/security . 1 post - 1 participant Read full topic","published_at":"2026-11-12T22:28:56+00:00","relation":"mentions","confidence":null,"note":null}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}