class TaintedLove::Replacer::ReplaceMarshal

Public Instance Methods

load(source, proc = nil) click to toggle source
Calls superclass method
# File lib/tainted_love/replacer/replace_marshal.rb, line 8
def load(source, proc = nil)
  TaintedLove.report(:ReplaceMarshal, source, [:rce], 'Marshal.load using tainted input') if source.tainted?

  super(source, proc)
end
replace!() click to toggle source
# File lib/tainted_love/replacer/replace_marshal.rb, line 6
def replace!
  mod = Module.new do
    def load(source, proc = nil)
      TaintedLove.report(:ReplaceMarshal, source, [:rce], 'Marshal.load using tainted input') if source.tainted?

      super(source, proc)
    end
  end

  Marshal.singleton_class.prepend(mod)
end