Description
Insufficiently Protected Credentials vulnerability in hackney in benoitc hackney allows a redirecting server to obtain the basic_auth and cookie credentials of a request via a same-host redirect to another scheme or port. With follow_redirect enabled, hackney:follow_redirect/10 in src/hackney.erl reissues the request to the Location target after hackney:maybe_strip_auth_on_redirect/3, which compared only the hostname of the current and the redirect URL. A redirect from https to http on the same host resent the Authorization and Cookie headers in cleartext, where an on-path attacker can read them, and a redirect to another port on the same host handed them to a different service. location_trusted forwards credentials to any target by design and is unchanged.

This issue affects hackney: from 2.0.0 before 4.9.0.
Published: 2026-10-26
Score: 6 Medium
EPSS: n/a
KEV: No
Impact: Credential Disclosure via redirect
Action: Patch Now
AI Analysis

Impact

The bug in the Erlang/Elixir HTTP client hackney causes the client to forward Authorization and Cookie headers when following redirects that stay on the same host but switch to a different scheme or port. Because the redirect logic strips credentials only when the hostname changes, the credentials are resent over cleartext traffic or to another service listening on the same hostname. This results in the credentials being exposed to an attacker who can influence or provide the redirect, leading to credential leakage. The weakness is classified as CWE‑522, insufficiently protected credentials.

Affected Systems

The issue affects the hackney library for all releases from 2.0.0 up to, but not including, 4.9.0. The library is maintained by benoitc and is widely used in Elixir and Erlang applications that perform HTTP calls. Systems that rely on older versions and use automatic redirect handling are subject to this flaw.

Risk and Exploitability

The CVSS score of 6 indicates moderate risk, and while the EPSS score is not reported, the vulnerability is not yet noted in the CISA KEV catalog. The attack requires a server that can send a redirect to a target on the same hostname but using a different scheme or port, which a malicious insider or compromised proxy could supply. Consequently, an attacker who can trick the client into following such a redirect can capture Basic Auth and cookie values and use them to authenticate to the original service or another local service.

Generated by OpenCVE AI on October 26, 2026 at 15:21 UTC.

Remediation

Vendor Workaround

Disable follow_redirect and handle the Location header in the application, or pass the credentials as explicit Authorization and Cookie request headers instead of the basic_auth and cookie options. hackney:follow_redirect/10 issues the redirected request with an empty header list, so explicit headers reach the first server only.


OpenCVE Recommended Actions

  • Upgrade hackney to version 4.9.0 or newer, where the redirect logic is corrected.
  • If an upgrade is not immediately possible, disable automatic redirects (follow_redirect) and process the Location header manually to prevent accidental credential leakage.
  • As an additional interim measure, provide Authorization and Cookie headers explicitly instead of using the basic_auth and cookie options to avoid header stripping by the library.

Generated by OpenCVE AI on October 26, 2026 at 15:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 26 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
Description Insufficiently Protected Credentials vulnerability in hackney in benoitc hackney allows a redirecting server to obtain the basic_auth and cookie credentials of a request via a same-host redirect to another scheme or port. With follow_redirect enabled, hackney:follow_redirect/10 in src/hackney.erl reissues the request to the Location target after hackney:maybe_strip_auth_on_redirect/3, which compared only the hostname of the current and the redirect URL. A redirect from https to http on the same host resent the Authorization and Cookie headers in cleartext, where an on-path attacker can read them, and a redirect to another port on the same host handed them to a different service. location_trusted forwards credentials to any target by design and is unchanged. This issue affects hackney: from 2.0.0 before 4.9.0.
Title HTTP/1.1 and HTTP/2 redirects resend basic_auth and cookie to a different scheme or port in hackney
First Time appeared Benoitc
Benoitc hackney
Weaknesses CWE-522
CPEs cpe:2.3:a:benoitc:hackney:*:*:*:*:*:*:*:*
Vendors & Products Benoitc
Benoitc hackney
References
Metrics cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-10-26T13:49:17.377Z

Reserved: 2026-10-26T10:00:02.149Z

Link: CVE-2026-113440

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-26T14:16:28.887

Modified: 2026-10-26T16:59:16.113

Link: CVE-2026-113440

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T16:15:14Z

Weaknesses
  • CWE-522

    Insufficiently Protected Credentials