cpe:/a:ruby-lang:ruby:2.2.7 cpe:/a:ruby-lang:ruby:2.3.0 cpe:/a:ruby-lang:ruby:2.3.0:preview1 cpe:/a:ruby-lang:ruby:2.3.0:preview2 cpe:/a:ruby-lang:ruby:2.3.1 cpe:/a:ruby-lang:ruby:2.3.2 cpe:/a:ruby-lang:ruby:2.3.3 cpe:/a:ruby-lang:ruby:2.3.4 cpe:/a:ruby-lang:ruby:2.4.0 cpe:/a:ruby-lang:ruby:2.4.0:preview1 cpe:/a:ruby-lang:ruby:2.4.0:preview2 cpe:/a:ruby-lang:ruby:2.4.0:preview3 cpe:/a:ruby-lang:ruby:2.4.0:rc1 cpe:/a:ruby-lang:ruby:2.4.1 cpe:/o:canonical:ubuntu_linux:14.04::~~lts~~~ cpe:/o:canonical:ubuntu_linux:16.04::~~lts~~~ cpe:/o:canonical:ubuntu_linux:17.10 cpe:/o:debian:debian_linux:8.0 cpe:/o:debian:debian_linux:9.0 cpe:/o:redhat:enterprise_linux_desktop:7.0 cpe:/o:redhat:enterprise_linux_server:7.0 cpe:/o:redhat:enterprise_linux_server_aus:7.4 cpe:/o:redhat:enterprise_linux_server_aus:7.6 cpe:/o:redhat:enterprise_linux_server_eus:7.4 cpe:/o:redhat:enterprise_linux_server_eus:7.5 cpe:/o:redhat:enterprise_linux_server_eus:7.6 cpe:/o:redhat:enterprise_linux_server_tus:7.4 cpe:/o:redhat:enterprise_linux_server_tus:7.6 cpe:/o:redhat:enterprise_linux_workstation:7.0 CVE-2017-14064 2017-08-31T13:29:00.183-04:00 2019-05-13T14:48:46.560-04:00 7.5 NETWORK LOW NONE PARTIAL PARTIAL PARTIAL http://nvd.nist.gov 2019-05-02T14:44:26.860-04:00 BID 100890 SECTRACK 1039363 SECTRACK 1042004 DEBIAN DSA-3966 GENTOO GLSA-201710-18 REDHAT RHSA-2017:3485 REDHAT RHSA-2018:0378 REDHAT RHSA-2018:0583 REDHAT RHSA-2018:0585 UBUNTU USN-3685-1 MLIST [debian-lts-announce] 20180714 [SECURITY] [DLA 1421-1] ruby2.1 security update MISC https://bugs.ruby-lang.org/issues/13853 MISC https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85 MISC https://hackerone.com/reports/209949 CONFIRM https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/ CONFIRM https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/ 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.