Description
Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. In versions prior to 3.17.2, Oj.load is vulnerable to heap corruption when parsing a JSON string longer than 2 GB. An integer overflow in buf_append_string (buf.h:61) converts the string length to a large negative size_t, causing memcpy to copy an astronomically large amount of data out of bounds. This crashes the process and can corrupt adjacent heap memory. The issue has been fixed in version 3.17.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ohler55 | oj | < 3.17.2 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | ruby-oj | 3.17.3-1 | — |
| Debian 13 | ruby-oj | 3.16.3-1+deb13u1 | — |
| Debian 12 | ruby-oj | 3.14.2-1+deb12u1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | ruby-oj | No fix yet | — |
| Ubuntu 26.04 LTS | ruby-oj | No fix yet | — |
| Ubuntu 25.10 | ruby-oj | No fix yet | — |
| Ubuntu 24.04 LTS | ruby-oj | No fix yet | — |
| Ubuntu 22.04 LTS | ruby-oj | No fix yet | — |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | ruby-oj | No fix yet | — |
| Ubuntu 18.04 LTS | ruby-oj | No fix yet | — |
| Ubuntu 16.04 LTS | ruby-oj | No fix yet | — |
| Ubuntu 14.04 LTS | ruby-oj | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | ruby3.2-fluentd-kubernetes-daemonset-1.19-kinesis | 1.19.2.1.1-r5 | — |
| Wolfi rolling | ruby3.2-kube-logging-operator-fluentd-outputs +1 | 6.7.0-r4 | — |
| Wolfi rolling | ruby3.3-fluentd-kubernetes-daemonset-1.19-kinesis +2 | 1.19.3.1.0-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | oj | < 3.17.3 | 3.17.3 | GHSA-475m-ph3x-64gp |