Unbeabsichtigte Dateierstellung durch Einfügen eines illegalen NUL-Zeichens (CVE-2012-4522)
Gepostet von usa am 12. Okt 2012
Es wurde eine Schwachstelle gefunden, bei der Dateierstellungsroutinen unbeabsichtigte Dateien erstellen können, indem NUL-Zeichen strategisch in Dateipfaden eingefügt werden. Diese Schwachstelle wurde als CVE-2012-4522 gemeldet.
Details
Ruby kann beliebige Binärmuster als Strings verarbeiten, einschließlich NUL-Zeichen. Betriebssysteme und andere Bibliotheken hingegen können dies meist nicht. Sie behandeln normalerweise ein NUL-Zeichen als Ende eines Strings. Um sie mit Ruby zu verbinden, sollten NUL-Zeichen ordnungsgemäß vermieden werden.
Methoden wie IO#open überprüften jedoch nicht den übergebenen Dateinamen und leiteten diese Strings einfach an untergeordnete Routinen weiter. Dies führte zur Erstellung unbeabsichtigter Dateien wie dieser.
p File.exists?("foo") #=> false
open("foo\0bar", "w") { |f| f.puts "hai" }
p File.exists?("foo") #=> true
p File.exists?("foo\0bar") #=> raises ArgumentError
Betroffene Versionen
- Alle Ruby 1.9.3 vor Patchlevel 286
- Alle Entwicklungszweige von Ruby 2.0.0 vor Revision r37163
Lösung
Upgrade auf die neueste Version.
Danksagung
Dieses Problem wurde von Peter Bex gemeldet.
Aktualisierungen
- Tippfehler korrigiert am 2012-10-19 14:54:49 JST.
- Erwähnung der CVE-Nummer hinzugefügt am 2012-10-16 08:58:51 JST.
- Ursprünglich veröffentlicht am 2012-10-12 19:19:55 JST.
Aktuelle Nachrichten
Ruby 4.0.0 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 4.0.0 bekannt zu geben. Ruby 4.0 führt „Ruby Box“ und „ZJIT“ ein und bringt viele Verbesserungen mit sich.
Veröffentlicht von naruse am 25. Dez 2025
Ein neuer Look für Rubys Dokumentation
Nach dem Redesign von ruby-lang.org gibt es weitere Neuigkeiten zur Feier des 30-jährigen Jubiläums von Ruby: docs.ruby-lang.org hat ein komplett neues Erscheinungsbild mit Aliki – dem neuen Standard-Theme von RDoc.
Veröffentlicht von Stan Lo am 23. Dez 2025
Neues Website-Erscheinungsbild
Wir freuen uns, ein umfassendes Redesign unserer Website bekannt zu geben. Das Design für dieses Update wurde von Taeko Akatsuka erstellt.
Veröffentlicht von Hiroshi SHIBATA am 22. Dez 2025
Ruby 4.0.0 preview3 veröffentlicht
Wir freuen uns, die Veröffentlichung von Ruby 4.0.0-preview3 bekannt zu geben. Ruby 4.0 führt Ruby::Box und „ZJIT“ ein und bringt viele Verbesserungen mit sich.
Veröffentlicht von naruse am 18. Dez 2025