
Solución alternativa para CVE-2020-10663 (vulnerabilidad en la gema json)
La gema json tiene una vulnerabilidad de seguridad CVE-2020-10663. Al analizar ciertos documentos JSON, la gema json puede ser forzada a crear objetos arbitrarios en el sistema de destino.
Se recomienda encarecidamente a los usuarios actualizar a json 2.3.0 o posterior.
Para los usuarios que no pueden actualizar su versión de json, esta gema (json_cve_2020_10663) aplica un monkey-patch a su versión de json contra CVE-2020-10663.
Tenga en cuenta que si está utilizando la versión actual de Rails 3.2 LTS o 4.2 LTS, esta gema ya no es necesaria.
json 1.7.7 o posterior, pero anterior a 2.3.0.Añade esta línea al Gemfile de tu aplicación:
gem 'json_cve_2020_10663'
Y luego ejecuta:
$ bundle
O instálala tú mismo con:
$ gem install json_cve_2020_10663
Carga la gema para parchear la gema json:
require 'json_cve_2020_10663'
Ten en cuenta que Rails carga automáticamente todas las gemas de tu Gemfile cuando se inicia tu aplicación.
Puedes verificar que el parche se ha aplicado ejecutando el siguiente código desde el entorno de tu aplicación:
JSON::GenericObject.json_creatable = true
JSON('{"json_class":"JSON::GenericObject"}').class
Si esto devuelve Hash, el parche se ha aplicado correctamente. Si devuelve JSON::GenericObject, el parche no se ha cargado.
Después de clonar el repositorio, ejecuta bin/setup para instalar las dependencias. Luego, ejecuta rake spec para ejecutar las pruebas. También puedes ejecutar bin/console para obtener un prompt interactivo que te permita experimentar.
Para instalar esta gema en tu máquina local, ejecuta bundle exec rake install. Para publicar una nueva versión, actualiza el número de versión en version.rb y luego ejecuta bundle exec rake release, que creará una etiqueta git para la versión, enviará los commits y las etiquetas git, y subirá el archivo .gem a rubygems.org.
La gema está disponible como código abierto bajo los términos de la Licencia MIT.