Class: TaintedLove::Replacer::ReplaceMarshal

Inherits:
Base
  • Object
show all
Defined in:
lib/tainted_love/replacer/replace_marshal.rb

Instance Method Summary collapse

Methods inherited from Base

replacers, #should_replace?

Instance Method Details

#replace!Object



6
7
8
9
10
11
12
13
14
15
16
# 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