GHSA-x426-x7cc-3fpc
@hapi/wreck: Sensitive credential headers leak across cross-port and cross-scheme redirects
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @hapi/wreck | < 18.1.2 | 18.1.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
Wreck strips credential headers (Authorization, Cookie, Proxy-Authorization) before following a cross-origin redirect, but the origin check compares hostnames only and ignores scheme and port. As a result, credentials are forwarded intact across same-host port changes and HTTPS-to-HTTP downgrades, allowing a co-tenant on an adjacent port or a network-position attacker capable of forging a redirect to capture bearer tokens, session cookies, and proxy credentials and impersonate the victim against the upstream service. The fix replaces the hostname comparison with a full-origin comparison (scheme, host, and port), aligning the behavior with the WHATWG Fetch same-origin definition used by browsers.
### Patches
Upgrade to >= 18.1.2.
### Workarounds
- Set `redirects: 0` (default) and handle redirects manually with a strict origin check.
- Use the `beforeRedirect` hook to inspect the redirect target and abort or strip sensitive headers before the follow-on request.
References
External links from the advisory. They lead to third-party sites.