
Workaround per CVE-2020-10663 (vulnerabilità nel gem json)
La gem json presenta una vulnerabilità di sicurezza CVE-2020-10663. Durante l'analisi di determinati documenti JSON, la gem json può essere indotta a creare oggetti arbitrari nel sistema di destinazione.
Si consiglia vivamente agli utenti di aggiornare a json 2.3.0 o versioni successive.
Per gli utenti che non possono aggiornare la propria versione di json, questa gem (json_cve_2020_10663) applica una monkey-patch alla vostra versione di json contro CVE-2020-10663.
Nota: se si utilizza una versione attuale di Rails 3.2 LTS o 4.2 LTS, questa gem non è più necessaria.
json 1.7.7 o successivo, ma precedente alla 2.3.0.Aggiungi questa riga al Gemfile della tua applicazione:
gem 'json_cve_2020_10663'
Quindi esegui:
$ bundle
Oppure installala direttamente con:
$ gem install json_cve_2020_10663
Richiedi la gem per applicare la patch alla gem json:
require 'json_cve_2020_10663'
Nota che Rails richiede automaticamente tutte le gem presenti nel tuo Gemfile all'avvio dell'applicazione.
Puoi verificare che la patch sia stata applicata eseguendo il seguente codice dall'ambiente della tua applicazione:
JSON::GenericObject.json_creatable = true
JSON('{"json_class":"JSON::GenericObject"}').class
Se restituisce Hash, la patch è stata applicata correttamente. Se restituisce JSON::GenericObject, la patch non è stata caricata.
Dopo aver clonato il repository, esegui bin/setup per installare le dipendenze. Quindi, esegui rake spec per eseguire i test. Puoi anche eseguire bin/console per un prompt interattivo che ti permetterà di sperimentare.
Per installare questa gem sulla tua macchina locale, esegui bundle exec rake install. Per rilasciare una nuova versione, aggiorna il numero di versione in version.rb, quindi esegui bundle exec rake release, che creerà un tag git per la versione, invierà i commit e i tag git e caricherà il file .gem su rubygems.org.
La gem è disponibile come open source secondo i termini della Licenza MIT.