CVE-2017-14064

Exp

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.

Published: 2017-08-31 Last update: 2026-06-16 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2017-14064 is rated High Exploit Risk (92.4/100): CVSS Critical severity, with high exploitation likelihood (EPSS 9.45%, 95th percentile). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). EPSS rose +7.54% over the last day, indicating growing attacker interest. Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Public exploit references (Exploit-DB) for CVE-2017-14064

EDB-ID Source Kind Published Link
nvd_ref exploit_tag Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2017-14064

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-06-15 1.91% 9.45% +7.54%
2 2026-05-31 1.96% 1.91% -0.05%
3 2026-05-22 1.96%

Full EPSS history (54 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2017-14064

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
9.8 3.0 CRITICAL
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 5.9 [email protected]
7.5 2.0 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:P)
Partial confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 6.4 [email protected]

Weakness enumeration for CVE-2017-14064

OS Trackers for CVE-2017-14064

vendor priority summary link
alpine CVE-2017-14064: 1 source package rows (ruby); 10 state rows across 10 repos (3.10-main, 3.11-main, 3.12-main, 3.17-main, 3.18-main, 3.19-main, 3.20-main, 3.21-main, 3.22-main, edge-main); fixed 10, open 0. https://security.alpinelinux.org/vuln/CVE-2017-14064
gentoo normal CVE-2017-14064: 1 GLSA(s) (201710-18), 1 atom(s) (dev-lang/ruby); latest impact normal. https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2017-14064
redhat low https://access.redhat.com/security/cve/CVE-2017-14064
suse medium CVE-2017-14064 severity moderate: SUSE including 27 source package names (libruby2_1-2_1-2.1.9-19.3.2, ruby, …), 181 product×package rows across 65 product lines (HPE Helion OpenStack 8, Image SLES12-SP5-Azure-BYOS, … (65 product lines)): Fixed 140, Known Not Affected 41. https://www.suse.com/security/cve/CVE-2017-14064/
ubuntu low CVE-2017-14064 low priority: Ubuntu including 3 source packages (ruby1.9.1, ruby2.0, ruby2.3), 18 status rows across 6 suites (artful, bionic, trusty, upstream, xenial, zesty): DNE 10, released 4, needs-triage 3, ignored 1. https://ubuntu.com/security/CVE-2017-14064

Affected software / configurations for CVE-2017-14064

Vendor Product Version Raw CPE
ruby-lang ruby <= 2.2.7 cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:*
ruby-lang ruby 2.3.0 cpe:2.3:a:ruby-lang:ruby:2.3.0:*:*:*:*:*:*:*
ruby-lang ruby 2.3.0 cpe:2.3:a:ruby-lang:ruby:2.3.0:preview1:*:*:*:*:*:*
ruby-lang ruby 2.3.0 cpe:2.3:a:ruby-lang:ruby:2.3.0:preview2:*:*:*:*:*:*
ruby-lang ruby 2.3.1 cpe:2.3:a:ruby-lang:ruby:2.3.1:*:*:*:*:*:*:*
ruby-lang ruby 2.3.2 cpe:2.3:a:ruby-lang:ruby:2.3.2:*:*:*:*:*:*:*
ruby-lang ruby 2.3.3 cpe:2.3:a:ruby-lang:ruby:2.3.3:*:*:*:*:*:*:*
ruby-lang ruby 2.3.4 cpe:2.3:a:ruby-lang:ruby:2.3.4:*:*:*:*:*:*:*
ruby-lang ruby 2.4.0 cpe:2.3:a:ruby-lang:ruby:2.4.0:*:*:*:*:*:*:*
ruby-lang ruby 2.4.0 cpe:2.3:a:ruby-lang:ruby:2.4.0:preview1:*:*:*:*:*:*
ruby-lang ruby 2.4.0 cpe:2.3:a:ruby-lang:ruby:2.4.0:preview2:*:*:*:*:*:*
ruby-lang ruby 2.4.0 cpe:2.3:a:ruby-lang:ruby:2.4.0:preview3:*:*:*:*:*:*
ruby-lang ruby 2.4.0 cpe:2.3:a:ruby-lang:ruby:2.4.0:rc1:*:*:*:*:*:*
ruby-lang ruby 2.4.1 cpe:2.3:a:ruby-lang:ruby:2.4.1:*:*:*:*:*:*:*
debian debian_linux 8.0 cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*
debian debian_linux 9.0 cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*
canonical ubuntu_linux 14.04 cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*
canonical ubuntu_linux 16.04 cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
canonical ubuntu_linux 17.10 cpe:2.3:o:canonical:ubuntu_linux:17.10:*:*:*:*:*:*:*
redhat enterprise_linux_desktop 7.0 cpe:2.3:o:redhat:enterprise_linux_desktop:7.0:*:*:*:*:*:*:*
redhat enterprise_linux_server 7.0 cpe:2.3:o:redhat:enterprise_linux_server:7.0:*:*:*:*:*:*:*
redhat enterprise_linux_server_aus 7.4 cpe:2.3:o:redhat:enterprise_linux_server_aus:7.4:*:*:*:*:*:*:*
redhat enterprise_linux_server_aus 7.6 cpe:2.3:o:redhat:enterprise_linux_server_aus:7.6:*:*:*:*:*:*:*
redhat enterprise_linux_server_eus 7.4 cpe:2.3:o:redhat:enterprise_linux_server_eus:7.4:*:*:*:*:*:*:*
redhat enterprise_linux_server_eus 7.5 cpe:2.3:o:redhat:enterprise_linux_server_eus:7.5:*:*:*:*:*:*:*
redhat enterprise_linux_server_eus 7.6 cpe:2.3:o:redhat:enterprise_linux_server_eus:7.6:*:*:*:*:*:*:*
redhat enterprise_linux_server_tus 7.4 cpe:2.3:o:redhat:enterprise_linux_server_tus:7.4:*:*:*:*:*:*:*
redhat enterprise_linux_server_tus 7.6 cpe:2.3:o:redhat:enterprise_linux_server_tus:7.6:*:*:*:*:*:*:*
redhat enterprise_linux_workstation 7.0 cpe:2.3:o:redhat:enterprise_linux_workstation:7.0:*:*:*:*:*:*:*

References for CVE-2017-14064

URL Tags
http://www.securityfocus.com/bid/100890 Third Party Advisory VDB Entry
http://www.securitytracker.com/id/1039363 Third Party Advisory VDB Entry
http://www.securitytracker.com/id/1042004 Third Party Advisory VDB Entry
https://access.redhat.com/errata/RHSA-2017:3485 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0378 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0583 Third Party Advisory
https://access.redhat.com/errata/RHSA-2018:0585 Third Party Advisory
https://bugs.ruby-lang.org/issues/13853 Issue Tracking Patch Vendor Advisory
https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85 Issue Tracking Patch Third Party Advisory
https://hackerone.com/reports/209949 Exploit Third Party Advisory
https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html Mailing List Third Party Advisory
https://security.gentoo.org/glsa/201710-18 Third Party Advisory
https://usn.ubuntu.com/3685-1/ Third Party Advisory
https://www.debian.org/security/2017/dsa-3966 Third 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
cvelogic Threat Intelligence