Sha256: e2d231fb4bbaf070bcb99a8e4d19081d2afb8bcd995e66fcc757d0ab6b837f4a
Contents?: true
Size: 661 Bytes
Versions: 3
Compression:
Stored size: 661 Bytes
Contents
# frozen_string_literal: true module TaintedLove module Replacer class ReplaceObject < Base def replace! mod = Module.new do def send(*args, &block) if args[0].tainted? && args[1].tainted? TaintedLove.report( :ReplaceObject, args.first, [:rce], 'User input in the first 2 arguments of Object#send' ) end super(*args, &block) end def tainted_love_tracking @tainted_love_tracking ||= [] end end Object.prepend(mod) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems