Vulnérabilité dans le module Net::HTTPS

Un trou de sécurité a été détecté dans la bibliothèque net/https. Informations détaillées par le rapporteur ou ci-dessous (en anglais).

Impact

The vulnerability exists in the connect method within http.rb file which fails to call post_connection_check after the SSL connection has been negotiated. Since the server certificate's CN is not validated against the requested DNS name, the attacker can impersonate the target server in a SSL connection. The integrity and confidentiality benefits of SSL are thereby eliminated.

Vulnerable versions

1.8 series
  • 1.8.4 and all prior versions
  • 1.8.5-p113 and all prior versions
  • 1.8.6-p110 and all prior versions
Development version (1.9 series)
All versions before 2006-09-23

Solution

1.8 series

Please upgrade to 1.8.6-p111 or 1.8.5-p114.

Then you should use Net::HTTP#enable_post_connection_check= to enable post_connection_check.

http = Net::HTTP.new(host, 443)
http.use_ssl = true
http.enable_post_connection_check = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
store = OpenSSL::X509::Store.new
store.set_default_paths
http.cert_store = store
http.start {
  response = http.get("/")
}

Please note that a package that corrects this weakness may already be available through your package management software.

Development version (1.9 series)
Please update your Ruby to a version after 2006-09-23. The default value of Net::HTTP#enable_post_connection_check is true on Ruby 1.9.

Changes

  • 2007-10-04 16:30 +09:00 added description for enable_post_connection_check to `Solution'.

Euruko 2007

La conférence Ruby européenne Euruko 2007 se tiendra à Vienne (Autriche) les samedi et dimanche 10 et 11 novembre. Vous pouvez vous inscrire et prendre connaissance des informations d’ordre général à propos de la conférence.

Droopy andre’s ?

Droopy andre’s ?

HS GNU/Linux Magazine France

De toutes mes contributions à la communauté Ruby, le hors série 33 - Ruby & Ruby on Rails est certainement l’une des plus importantes.

Au sommaire de ce numéro :

  • RubyFrance
  • Autour de Ruby, le retour…
  • Les variables dans Ruby
  • Contrôler Ruby
  • Fonctions, structures, classes et modules
  • Introduction à Ruby on Rails
  • RubyGems
  • MVC avec Camping

J’y signe 7 articles, laissant à Muriel Oger le soin d’avoir interviewé les membres de l’association RubyFrance.

Bonne lecture à tous !

stand RubyFrance aux JDLL

Je serai demain vendredi et samedi aux JDLL sur le stand RubyFrance.

Une nouvelle fois mon entreprise, AF83, me met disposition pour soutenir la communaut. Si toutes les entreprises qui utilisent des logiciels libres agissaient de mme on aurait encore plus de visiteurs professionnels. Qu’est-ce qu’une journe de salaire fasse toutes les conomies que permettent les logiciels libres ?!
De plus c’est une manire de rester inform moindre cot, car l’entre est libre au mme titre que les RMLL.

A mditer avant de payer une fortune un sminaire ou des formations sur des logiciels propritaires.

Sinon demain 9h30 il y aura une confrence sur Ruby on Rails par Guillaume Desrat. Il sera galement prsent le 10 dcembre Paris on Rails mais l l’entre est payante (100?).

Speaker @ Paris On Rails 2007

Speaker @ Paris On Rails 2007

ProtectedAttributeAssignmentError lancé pour les attr_protected dans Rails 2.0

Il y a une semaine maintenant une évolution de rails a entraîné une modification qui peux empêcher les tests qui ont été réalisé avec Rails 1.2. Etant tombé dans le piège, je vais expliquer ici la modification qui a eu lieu.

Suite au ticket 9699, si vous utilisez la méthode attr_protected dans votre modèle, vous aurez dans votre environnement de Test une exception qui est lancé, ProtectedAttributeAssignementError, lorsque vous tentez d'assigner une des valeurs protégés par la méthode ActiveRecord::Base#attributes=.

En conséquence dans vos tests unitaires et surtout fonctionnels, il faut gérer ce cas. Deux techniques possibles :

  • Utiliser assert_raise pour tester qu'une mauvaise assignation entraîne bien un exception.
  • Utiliser la configuration de cette exception en indiquant dans votre test : ActiveRecord::Base.whiny_protected_attributes = false

26 octobre !


mb021_lm.jpg