Hash-Flooding-DoS-Sicherheitsleck in Ruby 1.9 (CVE-2012-5371)
Geschrieben von Quintus am 9.11.2012
Es wurde ein Hash-Flooding-DoS-Anriff auf die von der Hash-Klasse der 1.9er-Serie genutzten Hashfunktion gefunden; dabei handelt es sich nicht um denselben Angriff wie CVE-2011-4815 gegen 1.8.7. 1.9-Nutzern wird daher empfohlen, auf Ruby 1.9.3 Patchlevel 327 zu aktualisieren.
Auswirkungen
Mit entsprechend akribisch aufbereiteten Listen von Strings kann ein
Denial-of-Service-Angriff auf den Service durchgeführt werden, der ein
Hash-Objekt mit Strings als Schlüsseln erstellt. Diese
Sicherheitslücke betrifft beispielsweise Webanwendungen, die JSON-Daten
aus nicht vertrauenswürdigen Quellen verarbeiten.
Diese Sicherheitslücke ähnelt CVE-2012-4815 in Ruby 1.8.7, im Gegensatz zu diesem benutzten 1.9er-Versionen von Ruby allerdings eien modifizierte Version der MurmurHash-Funktion, von der nun bekannt wurde, dass sie dazu gebracht werden kann, für eine Anzahl von Strings kollidierende Hash-Werte zu erzeugen. Daher ändert dieses Fix die verwendete Hash-Funktion von MurmurHash auf SipHash 2-4.
Lösung
Wenn Sie 1.9er-Versionen verwenden, aktualisieren Sie bitte auf Ruby 1.9.3 Patchlevel 327 ; nutzen Sie hingegen Ruby 2.0.0 Preview 1 oder den Trunk, aktualisieren Sie auf Revision 37575 oder später, um die Sicherheitsfixes zu erhalten. Abgesehen davon sollten alle Ruby-Anwendungen, die Eingabedaten aus nicht vertrauenswürdigen Quellen akzeptieren, die Größe derselben auf einen vertretbaren Maximalwert limitieren. Wir können nicht garantieren, dass wir auch in Zukunft gegen diese Art von Sicherheitsloch auf Sprachebene vorzugehen vermögen.
Betroffene Versionen
- Alle 1.9er Ruby-Versionen vor 1.9.3 Patchlevel 327
- Alle 2.0er Ruby-Versionen (eingeschlossen 2.0.0-preview1) vor Trunk-Revision 37575
Dank
Diese Sicherheitslücke wurde von Jean-Philippe Aumasson, einem der Designer von SipHash, gemeldet. Die ursprüngliche SipHash-Implementation für diesen Fix wurde von Martin Boßlet geschrieben, einem Ruby-Committer.
Updates
- Englische Erstveröffentlichung: 2012-11-10 04:23:00
Aktuelle Neuigkeiten
Ruby 3.4.2 veröffentlicht
Ruby 3.4.2 wurde veröffentlicht.
Geschrieben von k0kubun am 14.2.2025
Ruby 3.2.7 veröffentlicht
Ruby 3.2.7 wurde veröffentlicht.
Geschrieben von nagachika am 4.2.2025
Ruby 3.3.7 veröffentlicht
Ruby 3.3.7 wurde veröffentlicht.
Geschrieben von k0kubun am 15.1.2025
Ruby 3.4.0 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 3.4.0 bekannt zu geben. Ruby 3.4 führt den it-Blockparameter ein, ändert Prism zum Standardparser, bietet Happy Eyeballs Version...
Geschrieben von naruse am 25.12.2024