{"cve":"CVE-2022-24795","nvd":{"published":"2022-04-05T16:15:14.050","modified":"2026-06-17T04:32:32.170","status":"Modified","description":"yajl-ruby is a C binding to the YAJL JSON parsing and generation library. The 1.x branch and the 2.x branch of `yajl` contain an integer overflow which leads to subsequent heap memory corruption when dealing with large (~2GB) inputs. The reallocation logic at `yajl_buf.c#L64` may result in the `need` 32bit integer wrapping to 0 when `need` approaches a value of 0x80000000 (i.e. ~2GB of data), which results in a reallocation of buf->alloc into a small heap chunk. These integers are declared as `size_t` in the 2.x branch of `yajl`, which practically prevents the issue from triggering on 64bit platforms, however this does not preclude this issue triggering on 32bit builds on which `size_t` is a 32bit integer. Subsequent population of this under-allocated heap chunk is based on the original buffer size, leading to heap memory corruption. This vulnerability mostly impacts process availability. Maintainers believe exploitation for arbitrary code execution is unlikely. A patch is available and anticipated to be part of yajl-ruby version 1.4.2. As a workaround, avoid passing large inputs to YAJL.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5},"cwes":["CWE-122","CWE-190"],"references":["https://github.com/brianmario/yajl-ruby/blob/7168bd79b888900aa94523301126f968a93eb3a6/ext/yajl/yajl_buf.c#L64","https://github.com/brianmario/yajl-ruby/commit/7168bd79b888900aa94523301126f968a93eb3a6","https://github.com/brianmario/yajl-ruby/security/advisories/GHSA-jj47-x69x-mxrm","https://lists.debian.org/debian-lts-announce/2023/07/msg00013.html","https://lists.debian.org/debian-lts-announce/2023/08/msg00003.html"],"products":["yajl-ruby_project:yajl-ruby"],"source":"nvd","synced_at":"2026-10-19T21:29:06.454770966+00:00"},"epss":{"cve":"CVE-2022-24795","score":0.03472,"percentile":0.89083,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-jj47-x69x-mxrm","url":"https://osv.dev/vulnerability/GHSA-jj47-x69x-mxrm","summary":"Buffer Overflow in yajl-ruby","modified":"2024-02-16T08:22:00.241668Z","packages":[{"ecosystem":"RubyGems","name":"yajl-ruby","purl":"pkg:gem/yajl-ruby","ranges":["<1.4.3"],"fixed":["1.4.3"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}