CVE-2026-107399 json
Mechanize sends credential headers to another origin after a meta refresh
published last mo. modified 26d ago also EUVD-2026-95318 , GHSA-c6rp-p8xm-4q9f
- cvss
- 6.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 30%
- public exploits
- 0
- none known
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.
Patch / fix
- rubygems mechanize 2.14.1
- mechanize_project mechanize 2.15.0
- ruby-mechanize Debian 14 2.14.1-1
debian advisories DEBIAN-CVE-2026-107399
Is CVE-2026-107399 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-107399 updated cvss 5.9
mechanize: mechanize: Information disclosure via cross-origin meta refresh
-
Red Hat 3scale API Management Platform 2 3scale-amp2/system-rhel8affected: workaround, no fix planned “Out of support scope”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 27d ago
Exploit prediction
0.36% chance of exploitation in the next 30 days, higher than 30% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | mechanize | <2.14.1 |
2.14.1 |
Affected products
- sparklemotion mechanize
Classification
References
-
github.com
/sparklemotion/mechanize/pull/676
web
-
github.com
/sparklemotion/mechanize/commit/02a1235842d6eda8d4a5a3d8f13aba2cecf52e4f
web
-
github.com
/sparklemotion/mechanize/commit/84c74df87d15f5d119df268ba6aa79bc1e16a2c3
web
-
github.com
/sparklemotion/mechanize/security/advisories/GHSA-c6rp-p8xm-4q9f
web
-
github.com
/sparklemotion/mechanize/releases/tag/v2.14.1
web
-
github.com
/sparklemotion/mechanize
package
Sources
- CVE List CVE-2026-107399
- GitHub Advisory GHSA-c6rp-p8xm-4q9f
- NVD CVE-2026-107399
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.