CVE-2026-55100: CWE-23: Relative Path Traversal in kyndryl-open-source hashi-vault-js
## Summary The `hashi-vault-js` library is vulnerable to path traversal and query string injection due to the lack of proper encoding of identifiers in path segments and query strings. This allows attackers to manipulate the request URL and potentially access unintended downstream endpoints or inject malicious parameters if untrusted input is passed to the library. ## Details There are zero calls to `encodeURIComponent` anywhere in `Vault.js`. Every identifier (e.g., name, username, group, role, version) provided to the library is concatenated straight into the HTTP URL without URI encoding. Two vectors can be dynamically confirmed: 1. **Path Traversal:** Passing `../../sys/seal` as a secret name causes the HTTP client to normalize the path and send the request to `/v1/sys/seal` instead of the intended Key-Value path. 2. **Query Injection:** Passing `1&list=true` as a version value injects an extra query parameter into the request payload. ## Impact In applications where Vault identifiers originate from untrusted user input, this allows an unauthenticated attacker to redirect requests to unintended Vault endpoints (including administrative paths under `sys/`) or otherwise alter the executed query, executing operations within the permissions of the Vault token used by the application. ## Patches This vulnerability has been addressed by wrapping path segments with `encodeURIComponent()` and safely formatting query strings instead of manual string concatenation. Users should upgrade to a version that includes this fix. ## Workarounds If you cannot immediately update the library, you can mitigate this issue by rigidly validating and sanitizing all user-supplied input before passing it into `hashi-vault-js` methods. Alternatively, manually encode inputs using `encodeURIComponent()` before supply them to the library's functions. ## Acknowledgements hashi-vault-js would like to thank Sebastián Alba Vives for reporting this vulnerability.
AI Analysis
Technical Summary
The hashi-vault-js Node.js module, used to interact with the HashiCorp Vault API, improperly concatenates unencoded identifier values such as name, username, group, role, and version into request paths and query strings. This lack of proper encoding (e.g., using encodeURIComponent() or URLSearchParams) enables relative path traversal and query parameter injection attacks. The vulnerability is tracked as CVE-2026-55100 with a CVSS 4.0 score of 8.7 (high severity). It affects versions prior to 0.5.2, where the issue is resolved.
Potential Impact
Exploitation of this vulnerability could allow an attacker to manipulate request paths and query parameters, potentially leading to unauthorized access or manipulation of Vault API requests. The CVSS score of 8.7 indicates a high impact with network attack vector, no privileges required, and no user interaction needed. However, no known exploits in the wild have been reported.
Mitigation Recommendations
Upgrade to hashi-vault-js version 0.5.2 or later, where the vulnerability is fixed by properly encoding identifier values in request paths and query strings. Since no official patch link or advisory is provided, verify the upgrade from the vendor or project repository. Patch status is not yet confirmed by a vendor advisory; check the official source for current remediation guidance.
CVE-2026-55100: CWE-23: Relative Path Traversal in kyndryl-open-source hashi-vault-js
Description
## Summary The `hashi-vault-js` library is vulnerable to path traversal and query string injection due to the lack of proper encoding of identifiers in path segments and query strings. This allows attackers to manipulate the request URL and potentially access unintended downstream endpoints or inject malicious parameters if untrusted input is passed to the library. ## Details There are zero calls to `encodeURIComponent` anywhere in `Vault.js`. Every identifier (e.g., name, username, group, role, version) provided to the library is concatenated straight into the HTTP URL without URI encoding. Two vectors can be dynamically confirmed: 1. **Path Traversal:** Passing `../../sys/seal` as a secret name causes the HTTP client to normalize the path and send the request to `/v1/sys/seal` instead of the intended Key-Value path. 2. **Query Injection:** Passing `1&list=true` as a version value injects an extra query parameter into the request payload. ## Impact In applications where Vault identifiers originate from untrusted user input, this allows an unauthenticated attacker to redirect requests to unintended Vault endpoints (including administrative paths under `sys/`) or otherwise alter the executed query, executing operations within the permissions of the Vault token used by the application. ## Patches This vulnerability has been addressed by wrapping path segments with `encodeURIComponent()` and safely formatting query strings instead of manual string concatenation. Users should upgrade to a version that includes this fix. ## Workarounds If you cannot immediately update the library, you can mitigate this issue by rigidly validating and sanitizing all user-supplied input before passing it into `hashi-vault-js` methods. Alternatively, manually encode inputs using `encodeURIComponent()` before supply them to the library's functions. ## Acknowledgements hashi-vault-js would like to thank Sebastián Alba Vives for reporting this vulnerability.
CVSS v4.0
Score 8.7high
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The hashi-vault-js Node.js module, used to interact with the HashiCorp Vault API, improperly concatenates unencoded identifier values such as name, username, group, role, and version into request paths and query strings. This lack of proper encoding (e.g., using encodeURIComponent() or URLSearchParams) enables relative path traversal and query parameter injection attacks. The vulnerability is tracked as CVE-2026-55100 with a CVSS 4.0 score of 8.7 (high severity). It affects versions prior to 0.5.2, where the issue is resolved.
Potential Impact
Exploitation of this vulnerability could allow an attacker to manipulate request paths and query parameters, potentially leading to unauthorized access or manipulation of Vault API requests. The CVSS score of 8.7 indicates a high impact with network attack vector, no privileges required, and no user interaction needed. However, no known exploits in the wild have been reported.
Mitigation Recommendations
Upgrade to hashi-vault-js version 0.5.2 or later, where the vulnerability is fixed by properly encoding identifier values in request paths and query strings. Since no official patch link or advisory is provided, verify the upgrade from the vendor or project repository. Patch status is not yet confirmed by a vendor advisory; check the official source for current remediation guidance.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-06-16T14:41:54.579Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a6cf74dbf32cb7a34294af1
Added to database: 07/31/2026, 19:28:13 UTC
Last enriched: 07/31/2026, 19:39:17 UTC
Last updated: 07/31/2026, 21:28:22 UTC
Views: 2
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.