{"id":"UBUNTU-CVE-2017-14064","details":"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.","modified":"2026-02-04T04:06:09.833048Z","published":"2017-08-31T00:00:00Z","related":["USN-3439-1","USN-3528-1","USN-3685-1"],"upstream":["CVE-2017-14064"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2017-14064"},{"type":"REPORT","url":"https://www.ruby-lang.org/en/news/2017/09/14/json-heap-exposure-cve-2017-14064/"},{"type":"REPORT","url":"https://hackerone.com/reports/209949"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-3439-1"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-3528-1"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-3685-1"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2017-14064"}],"affected":[{"package":{"name":"ruby1.9.1","ecosystem":"Ubuntu:14.04:LTS","purl":"pkg:deb/ubuntu/ruby1.9.1@1.9.3.484-2ubuntu1.5?arch=source&distro=trusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.9.3.484-2ubuntu1.5"}]}],"versions":["1.9.3.194-8.1ubuntu2","1.9.3.448-1ubuntu1","1.9.3.448-1ubuntu2","1.9.3.484-1ubuntu1","1.9.3.484-1ubuntu2","1.9.3.484-2ubuntu1","1.9.3.484-2ubuntu1.1","1.9.3.484-2ubuntu1.2","1.9.3.484-2ubuntu1.3"],"ecosystem_specific":{"binaries":[{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"libruby1.9.1"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"libtcltk-ruby1.9.1"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"ri1.9.1"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"ruby1.9.1"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"ruby1.9.1-dev"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"ruby1.9.1-examples"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"ruby1.9.1-full"},{"binary_version":"1.9.3.484-2ubuntu1.5","binary_name":"ruby1.9.3"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2017/UBUNTU-CVE-2017-14064.json"}},{"package":{"name":"ruby2.0","ecosystem":"Ubuntu:14.04:LTS","purl":"pkg:deb/ubuntu/ruby2.0@2.0.0.484-1ubuntu2.10?arch=source&distro=trusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.0.484-1ubuntu2.10"}]}],"versions":["2.0.0.299-2","2.0.0.343-1","2.0.0.343-1ubuntu1","2.0.0.353-1","2.0.0.353-1ubuntu1","2.0.0.484-1ubuntu1","2.0.0.484-1ubuntu2","2.0.0.484-1ubuntu2.1","2.0.0.484-1ubuntu2.2","2.0.0.484-1ubuntu2.4","2.0.0.484-1ubuntu2.5","2.0.0.484-1ubuntu2.6","2.0.0.484-1ubuntu2.8","2.0.0.484-1ubuntu2.9"],"ecosystem_specific":{"binaries":[{"binary_version":"2.0.0.484-1ubuntu2.10","binary_name":"libruby2.0"},{"binary_version":"2.0.0.484-1ubuntu2.10","binary_name":"ruby2.0"},{"binary_version":"2.0.0.484-1ubuntu2.10","binary_name":"ruby2.0-dev"},{"binary_version":"2.0.0.484-1ubuntu2.10","binary_name":"ruby2.0-tcltk"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2017/UBUNTU-CVE-2017-14064.json"}},{"package":{"name":"ruby2.3","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/ruby2.3@2.3.1-2~16.04.5?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.1-2~16.04.5"}]}],"versions":["2.3.0-1","2.3.0-2","2.3.0-4ubuntu2","2.3.0-4ubuntu3","2.3.0-5ubuntu1","2.3.1-2~16.04","2.3.1-2~16.04.2","2.3.1-2~16.04.4"],"ecosystem_specific":{"binaries":[{"binary_version":"2.3.1-2~16.04.5","binary_name":"libruby2.3"},{"binary_version":"2.3.1-2~16.04.5","binary_name":"ruby2.3"},{"binary_version":"2.3.1-2~16.04.5","binary_name":"ruby2.3-dev"},{"binary_version":"2.3.1-2~16.04.5","binary_name":"ruby2.3-tcltk"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2017/UBUNTU-CVE-2017-14064.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"low"}]}