Vulnerabilidad en llamada JSON.generate en Ruby (CVE-2017-14064)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-119
Restricción de operaciones inapropiada dentro de los límites del búfer de la memoria
Fecha de publicación:
31/08/2017
Última modificación:
20/04/2025
Descripción
Ruby hasta la versión 2.2.7, 2.3.x hasta la 2.3.4, y 2.4.x hasta la 2.4.1 puede exponer memoria arbitraria durante una llamada JSON.generate. Los problemas surgen al usar strdup en ext/json/ext/generator/generator.c, el cual se detendría después de encontrar un byte '\0', devolviendo un puntero a un string de longitud cero, que no es la longitud almacenada en space_len.
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Puntuación base 2.0
7.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* | 2.2.7 (incluyendo) | |
| cpe:2.3:a:ruby-lang:ruby:2.3.0:*:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.3.0:preview1:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.3.0:preview2:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.3.1:*:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.3.2:*:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.3.3:*:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.3.4:*:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.4.0:*:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.4.0:preview1:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.4.0:preview2:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.4.0:preview3:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.4.0:rc1:*:*:*:*:*:* | ||
| cpe:2.3:a:ruby-lang:ruby:2.4.1:*:*:*:*:*:*:* | ||
| cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://www.securityfocus.com/bid/100890
- http://www.securitytracker.com/id/1039363
- http://www.securitytracker.com/id/1042004
- https://access.redhat.com/errata/RHSA-2017:3485
- https://access.redhat.com/errata/RHSA-2018:0378
- https://access.redhat.com/errata/RHSA-2018:0583
- https://access.redhat.com/errata/RHSA-2018:0585
- https://bugs.ruby-lang.org/issues/13853
- https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85
- https://hackerone.com/reports/209949
- https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html
- https://security.gentoo.org/glsa/201710-18
- https://usn.ubuntu.com/3685-1/
- https://www.debian.org/security/2017/dsa-3966
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/
- http://www.securityfocus.com/bid/100890
- http://www.securitytracker.com/id/1039363
- http://www.securitytracker.com/id/1042004
- https://access.redhat.com/errata/RHSA-2017:3485
- https://access.redhat.com/errata/RHSA-2018:0378
- https://access.redhat.com/errata/RHSA-2018:0583
- https://access.redhat.com/errata/RHSA-2018:0585
- https://bugs.ruby-lang.org/issues/13853
- https://github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85
- https://hackerone.com/reports/209949
- https://lists.debian.org/debian-lts-announce/2018/07/msg00012.html
- https://security.gentoo.org/glsa/201710-18
- https://usn.ubuntu.com/3685-1/
- https://www.debian.org/security/2017/dsa-3966
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/
- https://www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/



