The Mechanize library is used for automating interaction with websites. Prior to 2.14.1, Mechanize applies no origin trust boundary in Mechanize::HTTP::Agent#response_follow_meta_refresh when Mechanize#follow_meta_refresh is enabled. A page containing a meta refresh to another origin causes headers configured through Mechanize#request_headers= to be reapplied to the refresh request, allowing an attacker who controls content in the crawl to capture bearer tokens or session cookies. The default configuration is not affected because follow_meta_refresh is false, and the exposure is limited to caller-supplied default headers. 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-107399.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": "84c74df87d15f5d119df268ba6aa79bc1e16a2c3"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v2.14.1",
"range": [
{
"fixed": "a40941e3a29720850e5b6158340d78e239b4f9a5"
}
],
"source": "REFERENCES_TAG"
}
]
}