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.
Upgrade to >= 18.1.2.
redirects: 0 (default) and handle redirects manually with a strict origin check.beforeRedirect hook to inspect the redirect target and abort or strip sensitive headers before the follow-on request.{
"nvd_published_at": null,
"cwe_ids": [
"CWE-200",
"CWE-319",
"CWE-346",
"CWE-522",
"CWE-940"
],
"severity": "MODERATE",
"github_reviewed": true,
"github_reviewed_at": "2026-06-11T13:27:05Z"
}