Skip to content
Heist/ feed
Back to feed
Medium

@hapi/wreck: Sensitive credential headers leak across cross-port and cross-scheme redirects

Type: advisorySources: OSV

@hapi/wreck is an HTTP client utility. Prior to 18.1.2, Wreck strips credential headers including Authorization, Cookie, and Proxy-Authorization before following a cross-origin redirect, but the origin check compares hostnames only and ignores scheme and port, so 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. This issue is fixed in version 18.1.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-48022
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 17:28 UTC · Revision 1

Source evidence

@hapi/wreck: Sensitive credential headers leak across cross-port and cross-scheme redirects

core-osv · Original source

Published 17 Jul 2026, 21:02 UTC

@hapi/wreck is an HTTP client utility. Prior to 18.1.2, Wreck strips credential headers including Authorization, Cookie, and Proxy-Authorization before following a cross-origin redirect, but the origin check compares hostnames only and ignores scheme and port, so 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. This issue is fixed in version 18.1.2.

osv:CVE-2026-48022
Complete source record
{
  "id": "3a800487af51a4d460fa0f984404ae05ee112c01e787234d493ff66536f7577a",
  "url": "https://osv.dev/vulnerability/CVE-2026-48022",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "@hapi/wreck: Sensitive credential headers leak across cross-port and cross-scheme redirects",
    "summary": "@hapi/wreck is an HTTP client utility. Prior to 18.1.2, Wreck strips credential headers including Authorization, Cookie, and Proxy-Authorization before following a cross-origin redirect, but the origin check compares hostnames only and ignores scheme and port, so 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. This issue is fixed in version 18.1.2.",
    "evidence": "osv:CVE-2026-48022",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-48022",
      "aliases": [
        "CVE-2026-48022",
        "GHSA-x426-x7cc-3fpc"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/hapijs/wreck",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "68ec5e8414d8f1c8f17407d846cb72199260b4b2"
                },
                {
                  "fixed": "b93323b63ad3adb14d2b4019d77219182211641e"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "18.1.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b93323b63ad3adb14d2b4019d77219182211641e"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "68ec5e8414d8f1c8f17407d846cb72199260b4b2"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v18.1.2"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v18.1.1",
            "v18.1.0",
            "v18.0.2",
            "v18.0.1",
            "v18.0.0",
            "v17.2.0",
            "v17.1.0",
            "v17.0.0",
            "v15.1.0",
            "v16.0.1",
            "v16.0.0",
            "v15.0.2",
            "v15.0.1",
            "v15.0.0",
            "v14.2.0",
            "v14.1.4",
            "v14.1.3",
            "v14.1.2",
            "v14.1.0",
            "v14.0.2",
            "v14.0.1",
            "v14.0.0",
            "v13.0.3",
            "v13.0.1",
            "v12.5.0",
            "v13.0.0",
            "v12.4.0",
            "v12.3.0",
            "v12.2.3",
            "v12.2.2",
            "v12.2.1",
            "v12.2.0",
            "v12.1.0",
            "v12.0.0",
            "v11.0.0",
            "v10.0.0",
            "v9.0.0",
            "v8.0.1",
            "v8.0.0",
            "v7.2.1",
            "v7.2.0",
            "v7.1.0",
            "v7.0.2",
            "v7.0.1",
            "v7.0.0",
            "v6.3.0",
            "v6.2.0",
            "v6.1.0",
            "v6.0.0",
            "v5.6.1",
            "v5.6.0",
            "v5.5.1",
            "v5.5.0",
            "v5.4.0",
            "v5.3.0",
            "v5.2.0",
            "v5.1.0",
            "v5.0.1",
            "v5.0.0",
            "v4.0.0",
            "v3.0.0",
            "v2.5.5",
            "v2.5.4",
            "v2.5.3",
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.0",
            "v2.3.0",
            "v2.2.0",
            "v2.1.0",
            "v2.0.0",
            "v1.0.0",
            "v0.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48022.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.820350122Z",
      "provider": "osv",
      "references": [
        "https://github.com/hapijs/wreck/releases/tag/v18.1.2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48022.json",
        "https://github.com/hapijs/wreck/security/advisories/GHSA-x426-x7cc-3fpc",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-48022",
        "https://github.com/hapijs/wreck/commit/b93323b63ad3adb14d2b4019d77219182211641e",
        "https://github.com/hapijs/wreck/pull/313"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-319",
          "CWE-346",
          "CWE-522"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48022.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-48022",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497843,
  "published_at": "2026-07-17T21:02:05.98+00:00"
}