
Fournit une solution de contournement rapide pour le bogue de segfault dans Ruby (CVE-2009-1904)
h1. Correction du segfault BigDecimal
Il y a un bogue de segfault dans la bibliothèque big decimal de ruby qui peut être déclenché par des utilisateurs fournissant des valeurs connues comme mauvaises. Si vous souhaitez tester si votre application est sécurisée, exécutez +example.rb+. Ce script doit se terminer normalement, pas par un segfault.
La solution de contournement a des effets secondaires négatifs. Plus précisément, elle vous empêche d'utiliser BigDecimal pour traiter de grands nombres (plus de 255 chiffres) ou de fournir les nombres en notation scientifique (par exemple "5E6" pour 5000000). Si vous avez besoin de ces fonctionnalités, vous devez mettre à jour ruby vers une version corrigée.
Il est fortement recommandé de mettre à jour ruby en suivant "les instructions sur le site ruby":http://www.ruby-lang.org/en/news/2009/06/09/dos-vulnerability-in-bigdecimal/. Cette solution de contournement n'est destinée qu'à une utilisation temporaire.
h2. Versions de ruby affectées :
h3. Série 1.8
h3. Série 1.9
h2. Instructions d'installation
h3. Installation via Gem
Ce correctif est disponible en tant que gem sur github. Pour l'installer, vous devez exécuter les commandes suivantes :
$ gem sources -a http://gems.github.com $ sudo gem install NZKoz-bigdecimal-segfault-fix
Ensuite, dans votre code, ajoutez :
gem 'NZKoz-bigdecimal-segfault-fix' require 'bigdecimal-segfault-fix'
h3. Installation via l'initialiseur Rails
Pour appliquer ce correctif à une application Rails, vous pouvez simplement copier le fichier +bigdecimal-segfault-fix.rb+ dans votre répertoire config/initializers.