CVE-2026-126063 json
Nokogiri: Mutation XSS through `noscript` content in Nokogiri's HTML5 serializer
published yesterday modified yesterday also GHSA-4p39-36wj-23h4 , EUVD-2026-122832
- cvss
- 2.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 47%
- public exploits
- 0
- none known
Summary
Nokogiri is an open source XML and HTML library for the Ruby programming language. From 1.12.0 until 1.19.5, the C extension on CRuby and TruffleRuby has a Nokogiri::HTML5 serializer that does not escape text inside noscript elements or angle brackets inside attribute values. When an application sanitizes untrusted HTML with the default parsing options, allows noscript, and sends serialized output to a scripting-enabled browser, the browser can parse markup that Nokogiri did not produce, enabling mutation cross-site scripting. Using parse_noscript_content_as_text: true is the recommended workaround, not the vulnerable default. JRuby is not affected because it does not implement Nokogiri::HTML5. This issue is fixed in version 1.19.5.
Patch / fix
- rubygems nokogiri 1.19.5
Is CVE-2026-126063 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 FencerExploit prediction
0.56% chance of exploitation in the next 30 days, higher than 47% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| CNA | 4.0 | 2.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | nokogiri | >=1.12.0, <1.19.5 |
1.19.5 |
Affected products
- sparklemotion nokogiri
Classification
References
-
github.com
/sparklemotion/nokogiri/pull/3752
web
-
github.com
/sparklemotion/nokogiri/commit/3e84df6ff7ab4d78f446e3a415430bd69a055d32
web
-
github.com
/sparklemotion/nokogiri/commit/c6c0bffbdcd194694995acafeeed27326b0805f8
web
-
github.com
/sparklemotion/nokogiri/security/advisories/GHSA-4p39-36wj-23h4
web
-
github.com
/sparklemotion/nokogiri/releases/tag/v1.19.5
web
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/GHSA-4p39-36wj-23h4.yml
web
-
github.com
/sparklemotion/nokogiri
package
Sources
- CVE List CVE-2026-126063
- GitHub Advisory GHSA-4p39-36wj-23h4
- NVD CVE-2026-126063
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.