CVE-2020-10933: Heap kann durch Sicherheitslücke in Socket-Bibliothek ausgelesen werden

In der Socket-Bibliothek wurde eine Sicherheitslücke entdeckt, die es ermöglicht, den Heap auszulesen. Dieser Sicherheitslücke wurde die CVE-Nummer CVE-2020-10933 zugewiesen. Wir raten dringend dazu, Ruby zu aktualisieren.

Details

Wenn BasicSocket#recv_nonblock und BasicSocket#read_nonblock mit Argumenten zu Größe und Puffer aufgerufen werden, so verändern sie zunächst die Größe des Puffers auf die verlangte Anzahl Bytes. In Fällen, in denen die nachfolgende eigentliche Leseoperation blocken würde, wird die Ausführung ohne Rückgabe von Daten abgebrochen. Das führt dazu, dass der Puffer nun beliebige Daten aus dem Heap enthält. Dadurch können potentiell sensible Daten des Interpreters ausgelesen werden.

Die Sicherheitslücke kann nur unter Linux ausgenutzt werden und findet sich in den Ruby-Versionen seit 2.5.0. Die 2.4er-Serie ist nicht betroffen.

Betroffene Versionen

  • Ruby 2.5er-Serie: 2.5.7 und früher
  • Ruby 2.6er-Serie: 2.6.5 und früher
  • Ruby 2.7er-Serie: 2.7.0
  • Master vor Revision 61b7f86248bd121be2e83768be71ef289e8e5b90

Danksagung

Wir danken Samuel Williams für die Entdeckung des Problems.

Historie

  • Erstveröffentlichung am 2020-03-31 12:00:00 (UTC)