{"id":"UBUNTU-CVE-2026-107714","details":"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.","modified":"2026-10-17T12:59:48.104266882Z","published":"2026-10-08T22:17:00Z","upstream":["CVE-2026-107714"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-107714"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-107714"},{"type":"REPORT","url":"https://github.com/sparklemotion/mechanize/commit/02a1235842d6eda8d4a5a3d8f13aba2cecf52e4f"},{"type":"REPORT","url":"https://github.com/sparklemotion/mechanize/commit/2f97fe358a91928e5e48221f2ec5cb50fa1a43ba"},{"type":"REPORT","url":"https://github.com/sparklemotion/mechanize/pull/676"},{"type":"REPORT","url":"https://github.com/sparklemotion/mechanize/releases/tag/v2.14.1"},{"type":"REPORT","url":"https://github.com/sparklemotion/mechanize/security/advisories/GHSA-5jgv-wc2m-xv99"}],"affected":[{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.3-1"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-mechanize","binary_version":"2.7.3-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}},{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.5-1","2.7.5-2"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-mechanize","binary_version":"2.7.5-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}},{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.6-1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.7.6-1","binary_name":"ruby-mechanize"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}},{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.7-1","2.7.7-3"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-mechanize","binary_version":"2.7.7-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}},{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.8.5-1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.8.5-1","binary_name":"ruby-mechanize"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}},{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.10.1-1.1","2.14.0-2"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-mechanize","binary_version":"2.14.0-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}},{"package":{"name":"ruby-mechanize","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/ruby-mechanize?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.10.1-1.1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.10.1-1.1","binary_name":"ruby-mechanize"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-107714.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"},{"type":"Ubuntu","score":"medium"}]}