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)