CVE-2017-14064

NameCVE-2017-14064
DescriptionRuby 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SuSE, Mageia, GitHub code/issues, web search, more)
ReferencesDSA-3966-1
NVD severityhigh (attack range: remote)
Debian Bugs873906

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
ruby1.9.1 (PTS)wheezy, wheezy (security)1.9.3.194-8.1+deb7u5vulnerable
ruby2.1 (PTS)jessie2.1.5-2+deb8u3vulnerable
jessie (security)2.1.5-2+deb8u1vulnerable
ruby2.3 (PTS)buster, sid, stretch2.3.3-1vulnerable
stretch (security)2.3.3-1+deb9u1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
ruby1.9.1source(unstable)(unfixed)high
ruby2.1source(unstable)(unfixed)high
ruby2.3source(unstable)(unfixed)high873906
ruby2.3sourcestretch2.3.3-1+deb9u1highDSA-3966-1

Notes

https://bugs.ruby-lang.org/issues/13853
https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85

Search for package or bug name: Reporting problems