CVE-2018-8778: Pufferunterlauf in String#unpack

In der Methode String#unpack ist ein Pufferunterlauf entdeckt worden. Dieser Sicherheitslücke wurde die CVE-Nummer CVE-2018-8778 zugewiesen.

Details

String#unpack nimmt Formatierungsanweisungen als Parameter an, unter denen sich auch eine Angabe der Parsing-Position über die Anweisung @ befindet. Wenn man @ einen großen Wert übergibt, wird die Zahl als negativ behandelt und es kommt zu einem Lesevorgang außerhalb des vorgesehenen Puffers. Wenn also ein Skript externe Eingaben als Argument für String#unpack verwendet, kann ein Angreifer Daten aus dem Heap lesen.

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 r62992

Danksagung

Dank geht an aerodudrizzt für die Meldung des Problems.

Historie

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