Project

General

Profile

Actions

Bug #10991

closed

SIGSEGV in Marshal.load

Added by mcarpenter (Martin Carpenter) about 9 years ago. Updated almost 9 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.2p86 (2015-03-03 revision 49825) [x86_64-linux]
[ruby-core:<unknown>]

Description

I've fuzzed some crashes in the marshal loader. The docs are explicit about not handing untrusted data to these methods and all appear to be NULL derefs from RSTRING_PTR() (I checked the first few by hand and ran exploitable over the remainder) so not obviously catastrophic from a security perspective.

Attached please find a tgz containing the input data (from afl) and gdb session output (backtrace, set args ..., run, exploitable).

To reproduce from the command line:

ruby -e 'Marshal.load(STDIN)' < id:000001,sig:11,src:003955,op:havoc,rep:4

Today's ruby-2.2-head is affected, and as far back as ruby-2.1.5 at least (possibly earlier).


Files

Marshal.load_crashes.tgz (2.92 KB) Marshal.load_crashes.tgz mcarpenter (Martin Carpenter), 03/21/2015 10:22 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0