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

Weitere Neuigkeiten...