Skip to content
OpenAdvisories
Medium · 6.8 CVE-2026-107399 EUVD-2026-95318GHSA-c6rp-p8xm-4q9f

Mechanize sends credential headers to another origin after a meta refresh

Published Oct 8, 2026 · Updated Oct 14, 2026 · Assigned by GitHub_M

Description

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 products

VendorProductAffectedFixed
sparklemotion mechanize < 2.15.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 ruby-mechanize 2.14.1-1 —
Debian 13 ruby-mechanize No fix yet —
Debian 12 ruby-mechanize No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 ruby-mechanize No fix yet —
Ubuntu 26.04 LTS ruby-mechanize No fix yet —
Ubuntu 24.04 LTS ruby-mechanize No fix yet —
Ubuntu 22.04 LTS ruby-mechanize No fix yet —
Ubuntu 20.04 LTS ruby-mechanize No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS ruby-mechanize No fix yet —
Ubuntu 16.04 LTS ruby-mechanize No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems mechanize < 2.14.1 2.14.1 GHSA-c6rp-p8xm-4q9f

References