Hash-Flooding DoS-Schwachstelle für Ruby 1.9 (CVE-2012-5371)
Gepostet von usa am 9. Nov 2012
Für die Hash-Funktion der Ruby 1.9-Serie wurde ein Hash-Flooding DoS-Angriff gemeldet. Diese Schwachstelle unterscheidet sich von CVE-2011-4815 für Ruby 1.8.7. Allen Ruby 1.9-Benutzern wird empfohlen, auf ruby-1.9.3 patchlevel 327 zu aktualisieren, um diese Sicherheitskorrektur zu erhalten.
Auswirkungen
Eine sorgfältig konstruierte Zeichenkettensequenz kann zu einem Denial-of-Service-Angriff auf den Dienst führen, der die Sequenz verarbeitet, um ein Hash-Objekt zu erstellen, indem die Zeichenketten als Schlüssel verwendet werden. Diese Schwachstelle betrifft beispielsweise Webanwendungen, die JSON-Daten von nicht vertrauenswürdigen Entitäten parsen.
Details
Diese Schwachstelle ist ähnlich wie CVE-2011-4815 für Ruby 1.8.7. Ruby 1.9-Versionen verwendeten eine modifizierte MurmurHash-Funktion, aber es wurde berichtet, dass es eine Möglichkeit gibt, eine Sequenz von Zeichenketten zu erstellen, die ihre Hash-Werte kollidieren lassen. Diese Korrektur ändert die Hash-Funktion des String-Objekts von MurmurHash zu SipHash 2-4.
Lösung
Bitte aktualisieren Sie auf ruby-1.9.3 patchlevel 327, wenn Sie Ruby 1.9-Versionen verwenden. Bitte aktualisieren Sie auf Trunk-Revision 37575 oder höher, wenn Sie Ruby 2.0.0 preview1 oder Ruby Trunk verwenden. Zusätzlich sollten alle Ruby-Anwendungen, die Eingabedaten von nicht vertrauenswürdigen Entitäten zum Parsen akzeptieren, die Größe der Eingabedaten auf eine angemessene Größe beschränken. Wir sind uns nicht sicher, ob wir in Zukunft Schutz gegen diese Art von Schwachstelle auf Ebene der Programmiersprache bieten können.
Betroffene Versionen
- Alle Ruby 1.9-Versionen vor ruby 1.9.3 patchlevel 327
- Alle Ruby 2.0-Versionen (einschließlich 2.0.0 preview1) vor Trunk-Revision 37575
Danksagung
Diese Schwachstelle wurde von Jean-Philippe Aumasson gemeldet, einem der Entwickler von SipHash. Die ursprüngliche SipHash-Implementierung für diese Korrektur wurde von Martin Boßlet, einem Ruby-Commiter, bereitgestellt.
Aktualisierungen
- Ein Tippfehler wurde am 21.11.2012 um 22:16:00 korrigiert.
- Ursprünglich veröffentlicht am 10.11.2012 um 04:23:00
Aktuelle Nachrichten
Ruby 4.0.0 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 4.0.0 bekannt zu geben. Ruby 4.0 führt „Ruby Box“ und „ZJIT“ ein und bringt viele Verbesserungen mit sich.
Veröffentlicht von naruse am 25. Dez 2025
Ein neuer Look für Rubys Dokumentation
Nach dem Redesign von ruby-lang.org gibt es weitere Neuigkeiten zur Feier des 30-jährigen Jubiläums von Ruby: docs.ruby-lang.org hat ein komplett neues Erscheinungsbild mit Aliki – dem neuen Standard-Theme von RDoc.
Veröffentlicht von Stan Lo am 23. Dez 2025
Neues Website-Erscheinungsbild
Wir freuen uns, ein umfassendes Redesign unserer Website bekannt zu geben. Das Design für dieses Update wurde von Taeko Akatsuka erstellt.
Veröffentlicht von Hiroshi SHIBATA am 22. Dez 2025
Ruby 4.0.0 preview3 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 4.0.0-preview3 bekannt zu geben. Ruby 4.0 führt Ruby::Box und „ZJIT“ ein und bringt viele Verbesserungen mit sich.
Veröffentlicht von naruse am 18. Dez 2025