Skip to main content
← All vulnerabilities
CVE-2026-107399GHSA-C6RP-P8XM-4Q9F

Mechanize sends credential headers to another origin after a meta refresh

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.15.0, 2.14.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • sparklemotion mechanize

    fixed in 2.15.0

  • mechanizeRubyGems

    fixed in 2.14.1

References 5

GitHub · sparklemotion/mechanize