Description
Ruby through 2.2.7, 2.3.x through 2.3.4, and 2.4.x through 2.4.1 can expose arbitrary memory during a JSON.generate call. The issues lies in using strdup in ext/json/ext/generator/generator.c, which will stop after encountering a '\0' byte, returning a pointer to a string of length zero, which is not the length stored in space_len.
Metrics
CVSS 3.0 9.8/10
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| n/a | n/a | n/a |
References
- http://www.securityfocus.com/bid/100890Third Party Advisory, VDB Entry
- http://www.securitytracker.com/id/1039363Third Party Advisory, VDB Entry
- http://www.securitytracker.com/id/1042004Third Party Advisory, VDB Entry
- https://access.redhat.com/errata/RHSA-2017:3485Third Party Advisory
- https://access.redhat.com/errata/RHSA-2018:0378Third Party Advisory
- https://access.redhat.com/errata/RHSA-2018:0583Third Party Advisory
- https://access.redhat.com/errata/RHSA-2018:0585Third Party Advisory
- https://bugs.ruby-lang.org/issues/13853Issue Tracking, Patch, Vendor Advisory
- https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85Issue Tracking, Patch, Third Party Advisory
- https://hackerone.com/reports/209949Exploit, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2018/07/msg00012.htmlMailing List, Third Party Advisory
- https://security.gentoo.org/glsa/201710-18Third Party Advisory
- https://usn.ubuntu.com/3685-1/Third Party Advisory
- https://www.debian.org/security/2017/dsa-3966Third Party Advisory
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/Vendor Advisory
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/Vendor Advisory
- http://www.securityfocus.com/bid/100890Third Party Advisory, VDB Entry
- http://www.securitytracker.com/id/1039363Third Party Advisory, VDB Entry
- http://www.securitytracker.com/id/1042004Third Party Advisory, VDB Entry
- https://access.redhat.com/errata/RHSA-2017:3485Third Party Advisory
- https://access.redhat.com/errata/RHSA-2018:0378Third Party Advisory
- https://access.redhat.com/errata/RHSA-2018:0583Third Party Advisory
- https://access.redhat.com/errata/RHSA-2018:0585Third Party Advisory
- https://bugs.ruby-lang.org/issues/13853Issue Tracking, Patch, Vendor Advisory
- https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85Issue Tracking, Patch, Third Party Advisory
- https://hackerone.com/reports/209949Exploit, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2018/07/msg00012.htmlMailing List, Third Party Advisory
- https://security.gentoo.org/glsa/201710-18Third Party Advisory
- https://usn.ubuntu.com/3685-1/Third Party Advisory
- https://www.debian.org/security/2017/dsa-3966Third Party Advisory
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/Vendor Advisory
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/Vendor Advisory
Timeline
- Published
- Aug 31, 2017
- Last modified
- Jun 17, 2026
- NVD status
- Modified