WEBrick hat eine Escape-Sequenz-Injection-Schwachstelle

Gepostet von Urabe Shyouhei am 10. Jan 2010

Eine Schwachstelle wurde in WEBrick, einem Teil der Ruby-Standardbibliothek, gefunden. WEBrick ermöglicht es Angreifern, bösartige Escape-Sequenzen in seine Protokolle einzuschleusen, wodurch gefährliche Steuerzeichen auf dem Terminal-Emulator eines Opfers ausgeführt werden können.

Wir haben bereits eine Korrektur dafür. Veröffentlichungen für alle aktiven Zweige werden dieser Ankündigung folgen. Vorläufig empfehlen wir Ihnen jedoch, Ihre WEBrick-Protokolle nicht zu betrachten, bis Sie Ihren WEBrick-Prozess aktualisiert haben.

Detaillierte Beschreibung

Terminal-Escape-Sequenzen werden verwendet, um verschiedene Arten der Interaktion zwischen einem Terminal und einem internen Prozess zu ermöglichen. Das Problem ist, dass diese Sequenzen nicht von nicht vertrauenswürdigen Quellen ausgegeben werden sollten; wie z.B. Netzwerk-Inputs. Wenn ein entfernter Angreifer Escape-Sequenzen in WEBrick-Protokolle einspeisen könnte und ein Opfer diese zufällig über sein Terminal abruft, könnte der Angreifer verschiedene Schwachstellen in Terminal-Emulatoren ausnutzen.

Und WEBrick versagt bei der Filterung dieser Terminal-Escape-Sequenzen.

Beispiel

% xterm -e ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>8080).start' &
% wget https://:8080/%1b%5d%32%3b%6f%77%6e%65%64%07%0a

Achten Sie auf den Fenstertitel von xterm.

Betroffene Versionen

  • Ruby 1.8.6 Patchlevel 383 und alle früheren Versionen
  • Ruby 1.8.7 Patchlevel 248 und alle früheren Versionen
  • Entwicklungsversionen von Ruby 1.8 (1.8.8dev)
  • Ruby 1.9.1 Patchlevel 376 und alle früheren Versionen
  • Entwicklungsversionen von Ruby 1.9 (1.9.2dev)

Lösungen

Danksagung

Dank an Giovanni "evilaliv3" Pellerano, Alessandro "jekil" Tanasi und Francesco "ascii" Ongaro für die Entdeckung dieser Schwachstelle.

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