CVE-2021-41817: Regular Expression Denial of Service Schwachstelle von Datumsanalyse-Methoden

Gepostet von mame am 15 Nov 2021

Wir haben die Versionen 3.2.1, 3.1.2, 3.0.2 und 2.0.1 des Date-Gems veröffentlicht, die einen Sicherheitsfix für eine Denial-of-Service-Schwachstelle durch reguläre Ausdrücke (ReDoS) in Datums-Parsing-Methoden enthalten. Ein Angreifer kann diese Schwachstelle ausnutzen, um einen effektiven DoS-Angriff durchzuführen. Diese Schwachstelle wurde mit der CVE-Kennung CVE-2021-41817 versehen.

Details

Die Parsing-Methoden von Date, einschließlich Date.parse, verwenden intern Regexps, von denen einige anfällig für Denial-of-Service-Angriffe durch reguläre Ausdrücke sind. Anwendungen und Bibliotheken, die solche Methoden auf nicht vertrauenswürdige Eingaben anwenden, können betroffen sein.

Der Fix begrenzt die Eingabelänge standardmäßig auf 128 Bytes, anstatt die Regexps zu ändern. Dies liegt daran, dass das Date-Gem viele Regexps verwendet und es möglich ist, dass noch unentdeckte verwundbare Regexps vorhanden sind. Aus Kompatibilitätsgründen ist es erlaubt, die Einschränkung durch explizites Übergeben des limit-Schlüsselworts als nil aufzuheben, wie z.B. Date.parse(str, limit: nil), aber beachten Sie, dass dies lange dauern kann beim Parsen.

Bitte aktualisieren Sie das Date-Gem auf Version 3.2.1, 3.1.2, 3.0.2 und 2.0.1 oder neuer. Sie können gem update date verwenden, um es zu aktualisieren. Wenn Sie Bundler verwenden, fügen Sie bitte gem "date", ">= 3.2.1" zu Ihrer Gemfile hinzu. Alternativ können Sie Ruby auf 3.0.3, 2.7.5, 2.6.9 oder neuer aktualisieren.

Betroffene Versionen

  • Date-Gem 2.0.0 oder früher (welche gebündelte Versionen mit Ruby 2.6 Serie vor Ruby 2.6.9 sind)
  • Date-Gem 3.0.1 oder früher (welche gebündelte Versionen mit Ruby 2.7 Serie vor Ruby 2.7.5 sind)
  • Date-Gem 3.1.1 oder früher (welche gebündelte Versionen mit Ruby 3.0 Serie vor Ruby 3.0.3 sind)
  • Date-Gem 3.2.0 oder früher

Credits

Vielen Dank an svalkanov für die Entdeckung dieses Problems.

Verlauf

  • Ursprünglich veröffentlicht am 2021-11-15 08:00:00 (UTC)
  • Erwähnung neuer Ruby-Releases am 2021-11-24 13:20:00 (UTC)

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...