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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-200",
"CWE-522"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107715.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"fixed": "2.15.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
}
]
}
]
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.14.1"
}
],
"source": "DESCRIPTION"
},
{
"range": [
{
"fixed": "02a1235842d6eda8d4a5a3d8f13aba2cecf52e4f"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "94e0902867296be804f36eccbb47acf7d5018745"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "ac49abf2869297d83c3b11bbfb8b18e63b588c95"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v2.14.1",
"range": [
{
"fixed": "a40941e3a29720850e5b6158340d78e239b4f9a5"
}
],
"source": "REFERENCES_TAG"
}
]
}