CVE-2015-7551: Unsichere Tainted-String-Nutzung in Fiddle und DL
Gepostet von usa am 16 Dez 2015
Es gibt eine unsichere Schwachstelle bei der Verwendung von Tainted Strings in Fiddle und DL. Dieser Schwachstelle wurde die CVE-ID CVE-2015-7551 zugewiesen.
Details
Es gibt eine unsichere "tainted" String-Schwachstelle in Fiddle und DL. Dieses Problem wurde ursprünglich mit CVE-2009-5147 in DL gemeldet und behoben, trat jedoch nach der Neuentwicklung von DL unter Verwendung von Fiddle und libffi wieder auf.
Und was DL betrifft: CVE-2009-5147 wurde in Ruby 1.9.1 behoben, aber nicht in anderen Zweigen. Daher sind Rubies, die DL gebündelt hatten, außer Ruby 1.9.1, immer noch anfällig.
Betroffener Code sieht ungefähr so aus
handle = Fiddle::Handle.new(dangerous_user_input)Oder
handle = Fiddle::Handle.new(some_library)
function_pointer = handle[dangerous_user_input]Alle Benutzer, die eine betroffene Version ausführen, sollten entweder ein Upgrade durchführen oder umgehend eine der Problemumgehungen verwenden.
Betroffene Versionen
- Alle Patch-Releases von Ruby 1.9.2 und Ruby 1.9.3 (DL und Fiddle).
- Alle Patch-Releases von Ruby 2.0.0 vor Ruby 2.0.0 patchlevel 648 (DL und Fiddle).
- Alle Versionen von Ruby 2.1 vor Ruby 2.1.8 (DL und Fiddle).
- Alle Versionen von Ruby 2.2 vor Ruby 2.2.4 (Fiddle).
- Ruby 2.3.0 preview 1 und preview 2 (Fiddle).
- Vor Trunk-Revision 53153 (Fiddle).
Problemumgehungen
Wenn Sie kein Upgrade durchführen können, kann der folgende Monkey Patch als Problemumgehung für Fiddle angewendet werden.
class Fiddle::Handle
alias :old_initialize :initialize
def initialize file, *args
raise SecurityError if file.tainted? && $SAFE > 0
old_initialize file, *args
end
alias :sym :[]
alias :old_call :[]
def [] fun
raise SecurityError if fun.tainted? && $SAFE > 0
old_call fun
end
endWenn Sie DL verwenden, nutzen Sie stattdessen Fiddle.
Credits
Vielen Dank an Christian Hofstaedtler zeha@debian.org für die Meldung dieses Problems!
Verlauf
- Ursprünglich veröffentlicht am 2015-12-16 12:00:00 UTC
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