Mechanize sends credential headers to a different scheme or port after a redirect
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
The Mechanize library is used for automating interaction with websites. Prior to 2.14.1, Mechanize::HTTP::Agent#response_redirect treats redirects as same-origin when the host matches without consistently comparing scheme and port. A same-host HTTPS-to-HTTP redirect can send Authorization and Cookie headers over cleartext, while a same-host redirect to another port can send a caller-supplied Cookie header to a different service. Cookies in Mechanize#cookie_jar remain scoped separately; the issue affects caller-supplied headers and can disclose credentials without affecting integrity or availability. This issue is fixed in version 2.14.1.
Text from CVE List
Affected versions 1
- mechanizeaffected: < 2.15.0CVE List
References 5
- github.com/sparklemotion/mechanize/commit/02a1235842d6eda8d4a5a3d8f13aba2cecf52e4fFixvia CVE List
- github.com/sparklemotion/mechanize/commit/2f97fe358a91928e5e48221f2ec5cb50fa1a43baFixvia CVE List
- github.com/sparklemotion/mechanize/releases/tag/v2.14.1Fixvia CVE List
- github.com/sparklemotion/mechanize/security/advisories/GHSA-5jgv-wc2m-xv99Advisoryvia CVE List
- github.com/sparklemotion/mechanize/pull/676Referencevia CVE List