CVE-2026-126366 json
msgpack-java JRuby decoder allocates from declared header counts with no cap: 5-byte message forces multi-GiB OOM
published 16d ago modified yesterday also EUVD-2026-124750 , GHSA-73v3-wf97-vpgj
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 45%
- public exploits
- 0
- none known
Summary
MessagePack for Ruby is an implementation of the MessagePack binary serialization format. Prior to 1.8.7, the Java-platform msgpack gem for JRuby allocated arrays and byte buffers directly from attacker-controlled array32, str32, and bin32 declared sizes before confirming that corresponding elements or bytes were available. A short MessagePack header could therefore trigger a very large allocation or sustained heap growth when an application decoded untrusted input through MessagePack.unpack or MessagePack::Unpacker, potentially exhausting the shared JVM heap. map32 and declared counts at or above 2^31 did not use the affected allocation behavior. This issue is fixed in version 1.8.7.
Patch / fix
- rubygems msgpack 1.8.7
Is CVE-2026-126366 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 FencerCISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- yesterday
Exploit prediction
0.53% chance of exploitation in the next 30 days, higher than 45% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | msgpack | <1.8.7 |
1.8.7 |
Affected products
- msgpack msgpack-ruby
Classification
References
-
github.com
/msgpack/msgpack-ruby/commit/ca0efc1256c687b428c46dd68ce000ff515d53f2
web
-
github.com
/msgpack/msgpack-ruby/security/advisories/GHSA-73v3-wf97-vpgj
web, advisory
-
github.com
/msgpack/msgpack-ruby/releases/tag/v1.8.6
web
-
github.com
/msgpack/msgpack-ruby/releases/tag/v1.8.7
web
-
github.com
/msgpack/msgpack-ruby
package
Sources
- CVE List CVE-2026-126366
- GitHub Advisory GHSA-73v3-wf97-vpgj
- NVD CVE-2026-126366
- Maintainer advisory GHSA-73v3-wf97-vpgj
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.
The maintainers of msgpack/msgpack-ruby published their own advisory on GitHub. Reviewed sources take precedence over it.