CVE-2018-8779: Fehlerhafte Socket-Erstellung durch NUL-Byte in UNIXServer und UNIXSocket

Geschrieben von usa am 28.3.2018
Übersetzt von Marvin Gülker

Die in Ruby enthaltene Methode UNIXServer.open erstellt Sockets fehlerhaft, außerdem kann man UNIXSocket.open dazu bewegen, andere als die gewünschten Sockets zu öffnen. Die Schwachstellen führen die CVE-Nummer CVE-2018-8779.

Details

UNIXServer.open nimmt als Parameter den Pfad entgegen, an dem der Socket erstellt werden soll. Enthält das Argument ein NUL-Byte (\0), glaubt die Methode, dass der Pfad vor dem NUL-Byte zu Ende ist. Das kann ein Angreifer ausnutzen, um den Socket in einem unerwünschten Verzeichnis zu erstellen, wenn ein Skript Nutzereingaben direkt als Argument an die genannte Methode weiterreicht.

Ähnlich verhält es sich mit UNIXSocket.open; auch diese Methode nimmt einen Zielpfad entgegen und auch hier kann man mit einem NUL-Byte die Methode glauben machen, dass der Pfad vor dem NUL-Byte zu Ende sei. Benutzt ein Skript Nutzereingaben als Argument für diese Methode, kann ein Angreifer das ausnutzen, um einen anderen als den gewünschten Socket zu öffnen.

Alle Nutzer betroffener Versionen sollten umgehend aktualisieren.

Betroffene Versionen

  • Ruby 2.2er-Serie: 2.2.9 und früher
  • Ruby 2.3er-Serie: 2.3.6 und früher
  • Ruby 2.4er-Serie: 2.4.3 und früher
  • Ruby 2.5er-Serie: 2.5.0 und früher
  • Ruby 2.6er-Serie: 2.6.0-preview1
  • Trunk vor Revision r62991

Credit

Dank an ooooooo_q, der den Fehler gemeldet hat.

Historie

  • Erstveröffentlicht am 2018-03-28 14:00:00 (UTC)

Aktuelle Neuigkeiten

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

Mehr Neuigkeiten...