Description
The Mechanize library is used for automating interaction with websites. Prior to 2.14.1, Mechanize sends caller-supplied credential headers to a different host after an HTTP redirect. Mechanize#request_headers= is reapplied by Mechanize::HTTP::Agent#request_add_headers even after Mechanize::HTTP::Agent#response_redirect strips per-request headers, and the protected header lists omit Proxy-Authorization and Cookie2. An attacker who controls a redirect target can capture bearer tokens or session cookies supplied through request_headers= or the per-request headers argument, while Mechanize#cookie_jar and Mechanize::HTTP::AuthStore are not affected. This issue is fixed in version 2.14.1.
Published: 2026-10-08
Score: 6.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Credential Disclosure
Action: Immediate Patch
AI Analysis

Impact

Mechanize, a web‑automation library, sends attacker‑supplied credential headers such bearer tokens and session cookies to a redirection target host. Before v2.14.1 the library does not strip these headers after an HTTP redirect, allowing a malicious redirection to capture sensitive credentials. The compromise is the unintentional disclosure of authentication information that can be used to impersonate a user or access protected resources.

Affected Systems

The vulnerability affects the Mechanize library from Sparklemotion, versions prior to 2.14.1. Applications that depend on these older versions and pass credentials via request_headers or the per-request headers argument are susceptible.

Risk and Exploitability

The CVSS score of 6.8 indicates moderate severity. Because the flaw is triggered by an attacker controlling a redirect target and does not require additional privileges, the likelihood of exploitation in the wild is considered realistic. The issue is not listed in the CISA KEV catalog and no EPSS score is available, but the attack vector is remote, making it accessible over the network to anyone who can host a malicious redirect. Once the redirect is triggered, credentials used in the original request can be captured, leading to potential account takeover or data exfiltration.

Generated by OpenCVE AI on October 9, 2026 at 03:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Mechanize to version 2.14.1 or later, which resolves the credential leakage bug.
  • If updating immediately is not feasible, remove or avoid placing sensitive bearer tokens or session cookies in request_headers for requests that may redirect.
  • As a temporary workaround, modify Mechanize’s HTTP agent to strip credential headers after a redirect or use a wrapper that clears request_headers before following a redirect.

Generated by OpenCVE AI on October 9, 2026 at 03:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2mwr-xjcg-37j7 Mechanize sends credential headers to another host after an HTTP redirect
History

Fri, 09 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Sparklemotion
Sparklemotion mechanize
Vendors & Products Sparklemotion
Sparklemotion mechanize

Fri, 09 Oct 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-212
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 08 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Description The Mechanize library is used for automating interaction with websites. Prior to 2.14.1, Mechanize sends caller-supplied credential headers to a different host after an HTTP redirect. Mechanize#request_headers= is reapplied by Mechanize::HTTP::Agent#request_add_headers even after Mechanize::HTTP::Agent#response_redirect strips per-request headers, and the protected header lists omit Proxy-Authorization and Cookie2. An attacker who controls a redirect target can capture bearer tokens or session cookies supplied through request_headers= or the per-request headers argument, while Mechanize#cookie_jar and Mechanize::HTTP::AuthStore are not affected. This issue is fixed in version 2.14.1.
Title Mechanize sends credential headers to another host after an HTTP redirect
Weaknesses CWE-200
CWE-522
References
Metrics cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N'}


Subscriptions

Sparklemotion Mechanize
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-09T13:22:27.174Z

Reserved: 2026-10-08T17:21:52.975Z

Link: CVE-2026-107715

cve-icon Vulnrichment

Updated: 2026-10-09T13:22:09.693Z

cve-icon NVD

Status : Deferred

Published: 2026-10-08T22:17:27.163

Modified: 2026-10-09T16:40:29.800

Link: CVE-2026-107715

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-08T21:27:24Z

Links: CVE-2026-107715 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T08:03:04Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-212

    Improper Removal of Sensitive Information Before Storage or Transfer

  • CWE-522

    Insufficiently Protected Credentials