9.8crit

CVE-2017-14064

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.

Published 9 y ago · modified 4 mo ago · JSON

CVSS
9.8
v3.0 · NVD
CISA KEV
No
not known exploited
EPSS
9.4%
percentile 95%
Public exploits
0
none known

Summary

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.

Exploit prediction (EPSS)

9.45% probability of exploitation in the next 30 days, higher than 95% of all scored CVEs.

CVSS scores

Assigned byVersionScoreVector
NVD3.09.8CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD2.07.5AV:N/AC:L/Au:N/C:P/I:P/A:P

Classification

Weakness
  • CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer

References

  • usn.ubuntu.com /3685-1/ · vendor-advisory, x_refsource_UBUNTU, x_transferred
  • access.redhat.com /errata/RHSA-2018:0585 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • debian.org /security/2017/dsa-3966 · vendor-advisory, x_refsource_DEBIAN, x_transferred
  • ruby-lang.org /en/news/2017/09/14/ruby-2-3-5-released/ · x_refsource_CONFIRM, x_transferred
  • access.redhat.com /errata/RHSA-2018:0378 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • hackerone.com /reports/209949 · x_refsource_MISC, x_transferred
  • securitytracker.com /id/1042004 · vdb-entry, x_refsource_SECTRACK, x_transferred
  • ruby-lang.org /en/news/2017/09/14/ruby-2-2-8-released/ · x_refsource_CONFIRM, x_transferred
  • securitytracker.com /id/1039363 · vdb-entry, x_refsource_SECTRACK, x_transferred
  • access.redhat.com /errata/RHSA-2017:3485 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • lists.debian.org /debian-lts-announce/2018/07/msg00012.html · mailing-list, x_refsource_MLIST, x_transferred
  • access.redhat.com /errata/RHSA-2018:0583 · vendor-advisory, x_refsource_REDHAT, x_transferred
  • bugs.ruby-lang.org /issues/13853 · x_refsource_MISC, x_transferred
  • github.com /flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85 · x_refsource_MISC, x_transferred
  • securityfocus.com /bid/100890 · vdb-entry, x_refsource_BID, x_transferred
  • security.gentoo.org /glsa/201710-18 · vendor-advisory, x_refsource_GENTOO, x_transferred

Sources

vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.