
Fornisce una rapida soluzione alternativa per il bug di segfault in Ruby (CVE-2009-1904)
h1. Correzione del segfault di BigDecimal
C'è un bug di segfault nella libreria big decimal di ruby che può essere innescato da utenti che forniscono valori notoriamente non validi. Se desideri verificare se la tua applicazione è sicura, esegui +example.rb+. Questo script dovrebbe terminare normalmente, non andare in segfault.
La soluzione alternativa ha effetti collaterali negativi. In particolare, impedisce di usare BigDecimal per gestire numeri grandi (più di 255 cifre) o di fornire i numeri in notazione scientifica (ad es. "5E6" per 5000000). Se hai bisogno di queste funzionalità, devi aggiornare a una versione di ruby corretta.
Ti consigliamo vivamente di aggiornare ruby seguendo "le istruzioni sul sito di ruby":http://www.ruby-lang.org/en/news/2009/06/09/dos-vulnerability-in-bigdecimal/. Questa soluzione alternativa è pensata solo per un uso temporaneo.
h2. Versioni di ruby interessate:
h3. Serie 1.8
h3. Serie 1.9
h2. Istruzioni di installazione
h3. Installazione tramite gem
Questa correzione è disponibile come gem su github. Per installarla, esegui i seguenti comandi:
$ gem sources -a http://gems.github.com $ sudo gem install NZKoz-bigdecimal-segfault-fix
Poi, nel tuo codice, aggiungi:
gem 'NZKoz-bigdecimal-segfault-fix' require 'bigdecimal-segfault-fix'
h3. Installazione tramite l'initializer di Rails
Per applicare questa correzione a un'applicazione Rails, puoi semplicemente copiare il file +bigdecimal-segfault-fix.rb+ nella tua directory config/initializers.