Heap-Überlauf beim Parsen von URI-Escape-Sequenzen in YAML (CVE-2014-2525)
Geschrieben von hone and zzak am 29.3.2014
Übersetzt von Marcus Stollsteimer
Beim Parsen von URI-Escape-Sequenzen in YAML kann es in Ruby zu einem Überlauf kommen. Dieser Sicherheitslücke wurde die CVE-Nummer CVE-2014-2525 zugewiesen.
Details
Immer dann, wenn ein YAML-String mit Tags geparst wird, kann ein speziell angefertigter String einen Heap-Überlauf verursachen, der möglicherweise zur Ausführung beliebigen Codes führen kann.
Verwundbarer Code sieht zum Beispiel so aus:
YAML.load <code_from_unknown_source>Betroffene Versionen
Seit Ruby 1.9.3-p0 wird standardmäßig psych als YAML-Parser verwendet.
Betroffen sind alle Versionen von psych, die gegen libyaml <= 0.1.5 gelinkt sind.
Die verwendete Version von libyaml kann festgestellt werden mit:
$ ruby -rpsych -e 'p Psych.libyaml_version'
[0, 1, 5]Lösungen
Nutzer, die libyaml systemweit installiert haben, sollten libyaml auf die
Version 0.1.6 aktualisieren. Beim erneuten Kompilieren von Ruby muss der
Pfad der aktualisierten Version angegeben werden:
$ ./configure --with-yaml-dir=/path/to/libyamlNutzer ohne eine systemweite Installation von libyaml verwenden die in psych
eingebundene Version. Diesen Nutzern wird empfohlen, psych auf die Version 2.0.5
zu aktualisieren, die libyaml 0.1.6 ausliefert:
$ gem install psychVerlauf
- Erstveröffentlichung: 2014-03-29 01:49:25 UTC
- Aktualisiert: 2014-03-29 09:37: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