CVE-2018-16396: „taint“-Markierungen werden von Array#pack und String#unpack nicht mit allen Direktiven richtig verarbeitet
Geschrieben von usa am 17.10.2018
Übersetzt von Marvin Gülker
Die Methoden Array#pack und String#unpack geben die
„taint“-Markierung der ursprünglichen Daten nicht bei allen
Formatierungsdirektiven an den Rückgabewert weiter. Dieser
Sicherheitslücke ist die CVE-Nummer
CVE-2018-16396
zugewiesen worden.
Details
Die Methode Array#pack konvertiert den Inhalt des Empfängers nach
Maßgabe der übergebenen Formatierungsdirektiven in einen String. Wenn
der Empfänger dabei Objekte enthält, die als „tainted“ markiert
wurden, so sollte auch der zurückgegebene String „tainted“ sein. Die
umgekehrt funktionierende Methode String#unpack, die den Empfänger
in ein Array konvertiert, sollte ebenfalls ihre „taint“-Markierung an
die im zurückgegebenen Array enthaltenen Objekte weitergeben. Bei
Einsatz der Formatierungsdirektiven B, b, H und h wurde jedoch
in beiden Fällen die „taint“-Markierung nicht weitergegeben. Wenn
demnach ein Skript unbekannte Eingaben von Array#pack und/oder
String#unpack verarbeiten lässt und die Rückgabewerte auf
Richtigkeit im Hinblick auf die „taint“-Markierung prüft, kann diese
Prüfung fehlschlagen.
Alle Nutzer einer betroffenen Version sollten umgehend aktualisieren.
Betroffene Versionen
- Ruby 2.3er-Serie: 2.3.7 und früher
- Ruby 2.4er-Serie: 2.4.4 und früher
- Ruby 2.5er-Serie: 2.5.1 und früher
- Ruby 2.6er-Serie: 2.6.0-preview2 und früher
- Trunk vor Revision r65125
Danksagung
Dank an Chris Seaton, der diesen Fehler meldete.
Historie
- Erstmals veröffentlicht am 2018-10-17 14:00:00 (UTC)
Aktuelle Neuigkeiten
Ruby 3.4.2 veröffentlicht
Ruby 3.4.2 wurde veröffentlicht.
Geschrieben von k0kubun am 14.2.2025
Ruby 3.2.7 veröffentlicht
Ruby 3.2.7 wurde veröffentlicht.
Geschrieben von nagachika am 4.2.2025
Ruby 3.3.7 veröffentlicht
Ruby 3.3.7 wurde veröffentlicht.
Geschrieben von k0kubun am 15.1.2025
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