CVE-2026-107399
published 2026-10-08CVE-2026-107399: The Mechanize library is used for automating interaction with websites. Prior to 2.14.1, Mechanize applies no origin trust boundary in…
PriorityP339medium6.8CVSS 3.1
AVNACHPRNUINSCCHINAN
EPSS
0.36%
28.5th percentile
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.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| 3scale-amp2 | system-rhel8 | — | — |
| mechanize_project | mechanize | >= 0 < 2.14.1 | 2.14.1 |
| sparklemotion | mechanize | < 2.15.0 | 2.15.0 |
CVSS provenance
nvdv3.16.8MEDIUMCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
vendor_redhat6.8MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
VulDB
Sparklemotion Mechanize up to 2.14.0 Response Follow Meta Refresh Agent#response_follow_meta_refresh privileges management
vuldb·2026-10-09·CVSS 6.8
CVE-2026-107399 [MEDIUM] Sparklemotion Mechanize up to 2.14.0 Response Follow Meta Refresh Agent#response_follow_meta_refresh privileges management
A vulnerability was found in Sparklemotion Mechanize up to 2.14.0. It has been classified as problematic. This affects the function Mechanize::HTTP::Agent#response_follow_meta_refresh of the component Response Follow Meta Refresh. Performing a manipulation results in improper privilege management.
This vulnerability is known as CVE-2026-107399. Remote exploitation of the attack is possible. No exploit is available.
Upgrading the affected component is recommended.
GHSA
Mechanize sends credential headers to another origin after a meta refresh
ghsa·2026-10-08
CVE-2026-107399 [MEDIUM] CWE-200 Mechanize sends credential headers to another origin after a meta refresh
Mechanize sends credential headers to another origin after a meta refresh
## Summary
`mechanize` applied no trust boundary to a `meta` refresh, so credentials set through `Mechanize#request_headers=` followed a refresh that pointed at another origin.
## Details
`Mechanize::HTTP::Agent#response_follow_meta_refresh` fetched the refresh target with no notion of a crossed origin, so `@request_headers` were re-applied in full. An attacker who could place a `meta` refresh in a page the agent fetched — through stored content, an open redirect, or control of any page in the crawl — collected the same credentials as through an HTTP redirect, on a code path that had none of the redirect path's protections.
The refresh fetch passes an empty per-request headers hash, so only headers set through `
Red Hat
mechanize: mechanize: Information disclosure via cross-origin meta refresh
vendor_redhat·2026-10-08·CVSS 6.8
CVE-2026-107399 [MEDIUM] CWE-201 mechanize: mechanize: Information disclosure via cross-origin meta refresh
mechanize: mechanize: Information disclosure via cross-origin meta refresh
A flaw was found in mechanize. When automatic meta refresh following is enabled, the library fails to restrict request headers across different web domains during a redirect. A remote attacker who controls web content during a crawl can redirect requests to an untrusted destination, leading to information disclosure of sensitive credentials such as session cookies and authorization tokens.
Package: 3scale-amp2/system-rhel8 (Red Hat 3scale API Management Platform 2) - Out of support scope
No detection rules found.
No public exploits indexed.
https://github.com/sparklemotion/mechanize/commit/02a1235842d6eda8d4a5a3d8f13aba2cecf52e4fhttps://github.com/sparklemotion/mechanize/commit/84c74df87d15f5d119df268ba6aa79bc1e16a2c3https://github.com/sparklemotion/mechanize/pull/676https://github.com/sparklemotion/mechanize/releases/tag/v2.14.1https://github.com/sparklemotion/mechanize/security/advisories/GHSA-c6rp-p8xm-4q9f
2026-10-08
Published