{"id":"CVE-2017-14064","state":"PUBLISHED","title":"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/","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.","publishedAt":"2017-08-31T17:00:00.000Z","updatedAt":"2024-08-05T19:13:41.685Z","severity":null,"assigner":"mitre","products":["n/a n/a"],"affected":[{"vendor":"n/a","product":"n/a","versions":[{"version":"n/a","status":"affected"}]}],"references":["https://usn.ubuntu.com/3685-1/","https://access.redhat.com/errata/RHSA-2018:0585","https://www.debian.org/security/2017/dsa-3966","https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/","https://access.redhat.com/errata/RHSA-2018:0378","https://hackerone.com/reports/209949","http://www.securitytracker.com/id/1042004","https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/","http://www.securitytracker.com/id/1039363","https://access.redhat.com/errata/RHSA-2017:3485","https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html","https://access.redhat.com/errata/RHSA-2018:0583","https://bugs.ruby-lang.org/issues/13853","https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85","http://www.securityfocus.com/bid/100890","https://security.gentoo.org/glsa/201710-18"],"weaknesses":[],"ingestedAt":"2026-10-29T19:43:20.309Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2017/14xxx/CVE-2017-14064.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2017-14064","state":"PUBLISHED","datePublished":"2017-08-31T17:00:00.000Z","dateUpdated":"2024-08-05T19:13:41.685Z","assignerShortName":"mitre","assignerOrgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","dateReserved":"2017-08-31T00:00:00.000Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"n/a","product":"n/a","versions":[{"version":"n/a","status":"affected"}]}],"references":[{"url":"https://usn.ubuntu.com/3685-1/","name":"USN-3685-1","tags":["vendor-advisory","x_refsource_UBUNTU"]},{"url":"https://access.redhat.com/errata/RHSA-2018:0585","name":"RHSA-2018:0585","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://www.debian.org/security/2017/dsa-3966","name":"DSA-3966","tags":["vendor-advisory","x_refsource_DEBIAN"]},{"url":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/","tags":["x_refsource_CONFIRM"]},{"url":"https://access.redhat.com/errata/RHSA-2018:0378","name":"RHSA-2018:0378","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://hackerone.com/reports/209949","tags":["x_refsource_MISC"]},{"url":"http://www.securitytracker.com/id/1042004","name":"1042004","tags":["vdb-entry","x_refsource_SECTRACK"]},{"url":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/","tags":["x_refsource_CONFIRM"]},{"url":"http://www.securitytracker.com/id/1039363","name":"1039363","tags":["vdb-entry","x_refsource_SECTRACK"]},{"url":"https://access.redhat.com/errata/RHSA-2017:3485","name":"RHSA-2017:3485","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html","name":"[debian-lts-announce] 20180714 [SECURITY] [DLA 1421-1] ruby2.1 security update","tags":["mailing-list","x_refsource_MLIST"]},{"url":"https://access.redhat.com/errata/RHSA-2018:0583","name":"RHSA-2018:0583","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://bugs.ruby-lang.org/issues/13853","tags":["x_refsource_MISC"]},{"url":"https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85","tags":["x_refsource_MISC"]},{"url":"http://www.securityfocus.com/bid/100890","name":"100890","tags":["vdb-entry","x_refsource_BID"]},{"url":"https://security.gentoo.org/glsa/201710-18","name":"GLSA-201710-18","tags":["vendor-advisory","x_refsource_GENTOO"]}],"problemTypes":[{"descriptions":[{"description":"n/a","lang":"en","type":"text"}]}],"providerMetadata":{"shortName":"mitre","dateUpdated":"2018-10-31T09:57:01.000Z","orgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca"},"datePublic":"2017-08-31T00:00:00.000Z","x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2017-14064","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"name":"USN-3685-1","refsource":"UBUNTU","url":"https://usn.ubuntu.com/3685-1/"},{"name":"RHSA-2018:0585","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2018:0585"},{"name":"DSA-3966","refsource":"DEBIAN","url":"https://www.debian.org/security/2017/dsa-3966"},{"name":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/","refsource":"CONFIRM","url":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/"},{"name":"RHSA-2018:0378","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2018:0378"},{"name":"https://hackerone.com/reports/209949","refsource":"MISC","url":"https://hackerone.com/reports/209949"},{"name":"1042004","refsource":"SECTRACK","url":"http://www.securitytracker.com/id/1042004"},{"name":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/","refsource":"CONFIRM","url":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/"},{"name":"1039363","refsource":"SECTRACK","url":"http://www.securitytracker.com/id/1039363"},{"name":"RHSA-2017:3485","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2017:3485"},{"name":"[debian-lts-announce] 20180714 [SECURITY] [DLA 1421-1] ruby2.1 security update","refsource":"MLIST","url":"https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html"},{"name":"RHSA-2018:0583","refsource":"REDHAT","url":"https://access.redhat.com/errata/RHSA-2018:0583"},{"name":"https://bugs.ruby-lang.org/issues/13853","refsource":"MISC","url":"https://bugs.ruby-lang.org/issues/13853"},{"name":"https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85","refsource":"MISC","url":"https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85"},{"name":"100890","refsource":"BID","url":"http://www.securityfocus.com/bid/100890"},{"name":"GLSA-201710-18","refsource":"GENTOO","url":"https://security.gentoo.org/glsa/201710-18"}]}}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://usn.ubuntu.com/3685-1/","name":"USN-3685-1","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred"]},{"url":"https://access.redhat.com/errata/RHSA-2018:0585","name":"RHSA-2018:0585","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred"]},{"url":"https://www.debian.org/security/2017/dsa-3966","name":"DSA-3966","tags":["vendor-advisory","x_refsource_DEBIAN","x_transferred"]},{"url":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/","tags":["x_refsource_CONFIRM","x_transferred"]},{"url":"https://access.redhat.com/errata/RHSA-2018:0378","name":"RHSA-2018:0378","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred"]},{"url":"https://hackerone.com/reports/209949","tags":["x_refsource_MISC","x_transferred"]},{"url":"http://www.securitytracker.com/id/1042004","name":"1042004","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred"]},{"url":"https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/","tags":["x_refsource_CONFIRM","x_transferred"]},{"url":"http://www.securitytracker.com/id/1039363","name":"1039363","tags":["vdb-entry","x_refsource_SECTRACK","x_transferred"]},{"url":"https://access.redhat.com/errata/RHSA-2017:3485","name":"RHSA-2017:3485","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html","name":"[debian-lts-announce] 20180714 [SECURITY] [DLA 1421-1] ruby2.1 security update","tags":["mailing-list","x_refsource_MLIST","x_transferred"]},{"url":"https://access.redhat.com/errata/RHSA-2018:0583","name":"RHSA-2018:0583","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred"]},{"url":"https://bugs.ruby-lang.org/issues/13853","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85","tags":["x_refsource_MISC","x_transferred"]},{"url":"http://www.securityfocus.com/bid/100890","name":"100890","tags":["vdb-entry","x_refsource_BID","x_transferred"]},{"url":"https://security.gentoo.org/glsa/201710-18","name":"GLSA-201710-18","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-05T19:13:41.685Z"}}]}}}