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. The issues lies in using strdup in ext/json/ext/generator/generator.c, which w...
CriticalCVSS 9.8
EPSS 9.4%
- Published
- Updated
- Exploit status
- No public exploit known
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.
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| ruby-lang ruby | <= 2.2.7 | No fix listed |
| ruby-lang ruby | = 2.3.0 | No fix listed |
| ruby-lang ruby | = 2.3.0-preview1 | No fix listed |
| ruby-lang ruby | = 2.3.0-preview2 | No fix listed |
| ruby-lang ruby | = 2.3.1 | No fix listed |
| ruby-lang ruby | = 2.3.2 | No fix listed |
| ruby-lang ruby | = 2.3.3 | No fix listed |
| ruby-lang ruby | = 2.3.4 | No fix listed |
| ruby-lang ruby | = 2.4.0 | No fix listed |
| ruby-lang ruby | = 2.4.0-preview1 | No fix listed |
| ruby-lang ruby | = 2.4.0-preview2 | No fix listed |
| ruby-lang ruby | = 2.4.0-preview3 | No fix listed |
| ruby-lang ruby | = 2.4.0-rc1 | No fix listed |
| ruby-lang ruby | = 2.4.1 | No fix listed |
| debian linux | = 8.0 | No fix listed |
| debian linux | = 9.0 | No fix listed |
| Canonical Ubuntu Linux | = 14.04 | No fix listed |
| Canonical Ubuntu Linux | = 16.04 | No fix listed |
| Canonical Ubuntu Linux | = 17.10 | No fix listed |
| redhat enterprise linux desktop | = 7.0 | No fix listed |
| redhat enterprise linux server | = 7.0 | No fix listed |
| redhat enterprise linux server aus | = 7.4 | No fix listed |
| redhat enterprise linux server aus | = 7.6 | No fix listed |
| redhat enterprise linux server eus | = 7.4 | No fix listed |
| redhat enterprise linux server eus | = 7.5 | No fix listed |
Show 28 more
| Product | Affected versions | Fixed in |
|---|---|---|
| redhat enterprise linux server eus | = 7.6 | No fix listed |
| redhat enterprise linux server tus | = 7.4 | No fix listed |
| redhat enterprise linux server tus | = 7.6 | No fix listed |
| redhat enterprise linux workstation | = 7.0 | No fix listed |
| alpine/ruby(Alpine:v3.10) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.11) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.12) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.13) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.14) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.15) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.16) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.17) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.18) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.19) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.20) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.21) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.22) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.23) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.24) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.3) | < 2.2.8-r0 | 2.2.8-r0 |
| alpine/ruby(Alpine:v3.4) | < 2.3.5-r0 | 2.3.5-r0 |
| alpine/ruby(Alpine:v3.5) | < 2.3.5-r0 | 2.3.5-r0 |
| alpine/ruby(Alpine:v3.6) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.7) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.8) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby(Alpine:v3.9) | < 2.4.2-r0 | 2.4.2-r0 |
| alpine/ruby2.2(Alpine:v3.5) | < 2.2.8-r0 | 2.2.8-r0 |
| alpine/ruby2.2(Alpine:v3.6) | < 2.2.8-r0 | 2.2.8-r0 |
References
- 100890 third-party-advisory vdb-entry
- 1039363 third-party-advisory vdb-entry
- 1042004 third-party-advisory vdb-entry
- RHSA-2017:3485 third-party-advisory vendor-advisory
- RHSA-2018:0378 third-party-advisory vendor-advisory
- RHSA-2018:0583 third-party-advisory vendor-advisory
- RHSA-2018:0585 third-party-advisory vendor-advisory
- bugs.ruby-lang.org issue-tracking patch vendor-advisory
- github.com issue-tracking patch third-party-advisory
- hackerone.com exploit third-party-advisory
- [debian-lts-announce] 20180714 [SECURITY] [DLA 1421-1] ruby2.1 security update mailing-list third-party-advisory
- GLSA-201710-18 third-party-advisory vendor-advisory
- USN-3685-1 third-party-advisory vendor-advisory
- DSA-3966 third-party-advisory vendor-advisory
- www.ruby-lang.org vendor-advisory
- www.ruby-lang.org vendor-advisory
- security.alpinelinux.org vendor-advisory