{"items":[{"id":"NVI-00015107","kind":"vulnerability","title":"hashi-vault-js has a path traversal and query parameter injection","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-g956-2f74-rmv7","CVE-2026-55100"],"plain_summary":"GitHub lists this reviewed advisory for hashi-vault-js. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-22c4981a5a8454d173b757813bf23b55"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-22c4981a5a8454d173b757813bf23b55","url":"https://github.com/advisories/GHSA-g956-2f74-rmv7","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-g956-2f74-rmv7","publisher":"GitHub Advisory Database","observed_at":"2026-11-03T09:58:49.818Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-22c4981a5a8454d173b757813bf23b55"],"technology":"hashi-vault-js","known_exclusions":[],"conditions_summary":"## Summary\n\nThe `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.\n\n## Details\n\nThere 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.\n\nTwo vectors can be dynamically confirmed:\n\n1. **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.\n2. **Query Injection:** Passing `1&list=true` as a version value injects an extra query parameter into the request payload.\n\n## Impact\n\nIn 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 al","public_affected_ranges":["<= 0.5.1"]}],"null_published_at":"2026-11-03T10:03:26.549Z","source_updated_at":"2026-07-31T17:03:27.000Z","source_disclosed_at":"2026-07-31T17:03:27.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-03T09:58:49.818Z"}],"next_cursor":null,"snapshot_revision":"42594"}