Geschrieben von Daniel Bovensiepen am 4.10.2007
Es wurde eine Sicherheitslücke in der net/https Bibliothek entdeckt.
Detailierte Informationen finden Sie in der ursprünglichen Veröffentlichung.
Auswirkung
Die Sicherheitslücke liegt in der connect Methode innerhalb von http.rb, welche fehlerhafter Weise den post_connection_check, nach einem erfolgreichen SSL Verbindungsaufbau, nicht aufruft. Dadurch wird das Server Zertifikat nicht gegen den angeforderten DNS Namen validiert. Ein Angreifer kann dadurch einen Zielserver bei einer SSL Verbindung imitieren. Die Vertrauenswürdigkeit einer so aufgebauten SSL Verbindung ist damit nicht mehr vorhanden.
Gefährdete Versionen
- 1.8 Serie
-
- 1.8.4 und alle vorherigen
- 1.8.5-p113 und alle vorherigen
- 1.8.6-p110 und alle vorherigen
- Entwicklerversion (1.9 Serien)
- Alle Versionen vor dem 2006-09-23
Lösung
- 1.8 Serie
-
Bitte aktualisieren Sie auf die Version 1.8.6-p111 oder 1.8.5-p114.
- <URL:https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.gz>
- <URL:https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-p114.tar.gz>
Weiterhin sollten sie die Methode Net::HTTP#enable_post_connection_check= nutzen um den post_connection_check zu aktivieren.
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("/") }
Beachten Sie, dass eine fehlerbereinigte Version eventuell bereits über Ihren Paketmanager zur Verfügung stehen könnte.
- Entwicklerversion (1.9 Serie)
- Bitte aktualsieren Sie Ihr Ruby auf eine Version nach 2006-09-23. Der Standardwert von Net::HTTP#enable_post_connection_check wurde auf true in Ruby 1.9 gesetzt.