Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seg fault - parse_obj #194

Closed
clod81 opened this issue Oct 27, 2017 · 6 comments
Closed

Seg fault - parse_obj #194

clod81 opened this issue Oct 27, 2017 · 6 comments

Comments

@clod81
Copy link

clod81 commented Oct 27, 2017

POC file:

require 'ox'
Ox.parse_obj("<k><s></s></k>")

crash:

ox_crash.rb:3: [BUG] Segmentation fault at 0x00000000000008
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0003 p:---- s:0011 e:000010 CFUNC  :parse_obj
c:0002 p:0023 s:0006 e:000005 EVAL   ox_crash.rb:3 [FINISH]
c:0001 p:0000 s:0003 E:0005d0 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
ox_crash.rb:3:in `<main>'
ox_crash.rb:3:in `parse_obj'

-- Machine register context ------------------------------------------------
 RIP: 0x00007f6fa95dabb8 RBP: 0x00007ffe15c701b0 RSP: 0x00007ffe15c6fb00
 RAX: 0x00007ffe15c701c8 RBX: 0x00007ffe15c701b0 RCX: 0x00007ffe15c701b0
 RDX: 0x00007ffe15c701b0 RDI: 0x0000000000000000 RSI: 0x0000000000000000
  R8: 0xfffffffffffffffc  R9: 0x0000000000c649d0 R10: 0x0000000000000838
 R11: 0x00007f6faad5e570 R12: 0x00007ffe15c701c8 R13: 0x0000000000e9a1b0
 R14: 0x00007ffe15c70466 R15: 0x000000000000003e EFL: 0x0000000000010246

-- C level backtrace information -------------------------------------------
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_vm_bugreport+0x4f3) [0x7f6fab29d943]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_bug_context+0xd4) [0x7f6fab12ac64]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(sigsegv+0x3e) [0x7f6fab2164be]
[0x7f6faacf44b0]
[0x7f6fa95dabb8]
[0x7f6fa95e39d0]
[0x7f6fa95e4544]
[0x7f6fa95e4c44]
[0x7f6fa95def6c]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_cfunc+0xea) [0x7f6fab281f2a]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_method+0xe3) [0x7f6fab291693]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec_core+0x14a0) [0x7f6fab28aaf0]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec+0x91) [0x7f6fab28fc31]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(ruby_exec_internal+0xb0) [0x7f6fab130a10]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(ruby_exec_node+0x1d) [0x7f6fab1326ed]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(ruby_run_node+0x1e) [0x7f6fab1355be]
/home/xxxx/.rvm/rubies/ruby-2.4.0/bin/ruby(main+0x4b) [0x40085b] main.c:36

-- Other runtime information -----------------------------------------------

* Loaded script: ox_crash.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
    5 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
    6 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/unicode_normalize.rb
    7 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/rbconfig.rb
    8 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/compatibility.rb
    9 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/defaults.rb
   10 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/deprecate.rb
   11 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/errors.rb
   12 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/version.rb
   13 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/requirement.rb
   14 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/platform.rb
   15 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/basic_specification.rb
   16 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/stub_specification.rb
   17 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/util/list.rb
   18 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
   19 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/specification.rb
   20 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/exceptions.rb
   21 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/dependency.rb
   22 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_gem.rb
   23 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/monitor.rb
   24 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb
   25 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems.rb
   26 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/path_support.rb
   27 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/version.rb
   28 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/core_ext/name_error.rb
   29 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/levenshtein.rb
   30 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/jaro_winkler.rb
   31 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checker.rb
   32 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/delegate.rb
   33 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   34 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   35 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   36 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   37 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/null_checker.rb
   38 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/formatter.rb
   39 /home/xxxx/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean.rb
   40 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/version.rb
   41 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/error.rb
   42 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/hasattrs.rb
   43 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/node.rb
   44 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/comment.rb
   45 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/raw.rb
   46 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/instruct.rb
   47 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/cdata.rb
   48 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/doctype.rb
   49 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/element.rb
   50 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/document.rb
   51 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/bag.rb
   52 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox/sax.rb
   53 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/date_core.so
   54 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/date.rb
   55 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/time.rb
   56 /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/bigdecimal.so
   57 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/ext/ox/ox.so
   58 /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/lib/ox.rb

* Process memory map:

00400000-00401000 r-xp 00000000 00:29 3802390                            /home/xxxx/.rvm/rubies/ruby-2.4.0/bin/ruby
00600000-00601000 r--p 00000000 00:29 3802390                            /home/xxxx/.rvm/rubies/ruby-2.4.0/bin/ruby
00601000-00602000 rw-p 00001000 00:29 3802390                            /home/xxxx/.rvm/rubies/ruby-2.4.0/bin/ruby
00c63000-01076000 rw-p 00000000 00:00 0                                  [heap]
7f6fa8f63000-7f6fa8f79000 r-xp 00000000 fc:01 266783                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6fa8f79000-7f6fa9178000 ---p 00016000 fc:01 266783                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6fa9178000-7f6fa9179000 rw-p 00015000 fc:01 266783                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f6fa9179000-7f6fa918d000 r-xp 00000000 00:29 3803680                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/bigdecimal.so
7f6fa918d000-7f6fa938c000 ---p 00014000 00:29 3803680                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/bigdecimal.so
7f6fa938c000-7f6fa938d000 r--p 00013000 00:29 3803680                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/bigdecimal.so
7f6fa938d000-7f6fa938e000 rw-p 00014000 00:29 3803680                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/bigdecimal.so
7f6fa938e000-7f6fa93c1000 r-xp 00000000 00:29 3803648                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/date_core.so
7f6fa93c1000-7f6fa95c0000 ---p 00033000 00:29 3803648                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/date_core.so
7f6fa95c0000-7f6fa95c1000 r--p 00032000 00:29 3803648                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/date_core.so
7f6fa95c1000-7f6fa95c2000 rw-p 00033000 00:29 3803648                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/date_core.so
7f6fa95c2000-7f6fa95c3000 rw-p 00000000 00:00 0 
7f6fa95c3000-7f6fa95f2000 r-xp 00000000 00:29 4073287                    /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/ext/ox/ox.so
7f6fa95f2000-7f6fa97f1000 ---p 0002f000 00:29 4073287                    /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/ext/ox/ox.so
7f6fa97f1000-7f6fa97f2000 r--p 0002e000 00:29 4073287                    /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/ext/ox/ox.so
7f6fa97f2000-7f6fa97f4000 rw-p 0002f000 00:29 4073287                    /home/xxxx/.rvm/gems/ruby-2.4.0/gems/ox-2.8.0/ext/ox/ox.so
7f6fa97f4000-7f6fa97fc000 r-xp 00000000 00:29 3803643                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7f6fa97fc000-7f6fa99fc000 ---p 00008000 00:29 3803643                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7f6fa99fc000-7f6fa99fd000 r--p 00008000 00:29 3803643                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7f6fa99fd000-7f6fa99fe000 rw-p 00009000 00:29 3803643                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7f6fa99fe000-7f6fa9a00000 r-xp 00000000 00:29 3803617                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7f6fa9a00000-7f6fa9c00000 ---p 00002000 00:29 3803617                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7f6fa9c00000-7f6fa9c01000 r--p 00002000 00:29 3803617                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7f6fa9c01000-7f6fa9c02000 rw-p 00003000 00:29 3803617                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7f6fa9c02000-7f6fa9c04000 r-xp 00000000 00:29 3803593                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7f6fa9c04000-7f6fa9e03000 ---p 00002000 00:29 3803593                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7f6fa9e03000-7f6fa9e04000 r--p 00001000 00:29 3803593                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7f6fa9e04000-7f6fa9e05000 rw-p 00002000 00:29 3803593                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7f6fa9e05000-7f6faa0dd000 r--p 00000000 fc:01 6291826                    /usr/lib/locale/locale-archive
7f6faa0dd000-7f6faa1e5000 r-xp 00000000 fc:01 263354                     /lib/x86_64-linux-gnu/libm-2.23.so
7f6faa1e5000-7f6faa3e4000 ---p 00108000 fc:01 263354                     /lib/x86_64-linux-gnu/libm-2.23.so
7f6faa3e4000-7f6faa3e5000 r--p 00107000 fc:01 263354                     /lib/x86_64-linux-gnu/libm-2.23.so
7f6faa3e5000-7f6faa3e6000 rw-p 00108000 fc:01 263354                     /lib/x86_64-linux-gnu/libm-2.23.so
7f6faa3e6000-7f6faa3ef000 r-xp 00000000 fc:01 262508                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7f6faa3ef000-7f6faa5ee000 ---p 00009000 fc:01 262508                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7f6faa5ee000-7f6faa5ef000 r--p 00008000 fc:01 262508                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7f6faa5ef000-7f6faa5f0000 rw-p 00009000 fc:01 262508                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7f6faa5f0000-7f6faa61e000 rw-p 00000000 00:00 0 
7f6faa61e000-7f6faa621000 r-xp 00000000 fc:01 262515                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f6faa621000-7f6faa820000 ---p 00003000 fc:01 262515                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f6faa820000-7f6faa821000 r--p 00002000 fc:01 262515                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f6faa821000-7f6faa822000 rw-p 00003000 fc:01 262515                     /lib/x86_64-linux-gnu/libdl-2.23.so
7f6faa822000-7f6faa8a1000 r-xp 00000000 fc:01 6299729                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7f6faa8a1000-7f6faaaa0000 ---p 0007f000 fc:01 6299729                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7f6faaaa0000-7f6faaaa1000 r--p 0007e000 fc:01 6299729                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7f6faaaa1000-7f6faaaa2000 rw-p 0007f000 fc:01 6299729                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7f6faaaa2000-7f6faaaba000 r-xp 00000000 fc:01 262509                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f6faaaba000-7f6faacb9000 ---p 00018000 fc:01 262509                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f6faacb9000-7f6faacba000 r--p 00017000 fc:01 262509                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f6faacba000-7f6faacbb000 rw-p 00018000 fc:01 262509                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7f6faacbb000-7f6faacbf000 rw-p 00000000 00:00 0 
7f6faacbf000-7f6faae7f000 r-xp 00000000 fc:01 263359                     /lib/x86_64-linux-gnu/libc-2.23.so
7f6faae7f000-7f6fab07f000 ---p 001c0000 fc:01 263359                     /lib/x86_64-linux-gnu/libc-2.23.so
7f6fab07f000-7f6fab083000 r--p 001c0000 fc:01 263359                     /lib/x86_64-linux-gnu/libc-2.23.so
7f6fab083000-7f6fab085000 rw-p 001c4000 fc:01 263359                     /lib/x86_64-linux-gnu/libc-2.23.so
7f6fab085000-7f6fab089000 rw-p 00000000 00:00 0 
7f6fab089000-7f6fab377000 r-xp 00000000 00:29 3803915                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7f6fab377000-7f6fab576000 ---p 002ee000 00:29 3803915                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7f6fab576000-7f6fab57c000 r--p 002ed000 00:29 3803915                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7f6fab57c000-7f6fab57f000 rw-p 002f3000 00:29 3803915                    /home/xxxx/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7f6fab57f000-7f6fab590000 rw-p 00000000 00:00 0 
7f6fab590000-7f6fab5b6000 r-xp 00000000 fc:01 262485                     /lib/x86_64-linux-gnu/ld-2.23.so
7f6fab637000-7f6fab65b000 r--s 00000000 00:29 3802390                    /home/xxxx/.rvm/rubies/ruby-2.4.0/bin/ruby
7f6fab65b000-7f6fab792000 rw-p 00000000 00:00 0 
7f6fab7af000-7f6fab7b0000 ---p 00000000 00:00 0 
7f6fab7b0000-7f6fab7b5000 rw-p 00000000 00:00 0 
7f6fab7b5000-7f6fab7b6000 r--p 00025000 fc:01 262485                     /lib/x86_64-linux-gnu/ld-2.23.so
7f6fab7b6000-7f6fab7b7000 rw-p 00026000 fc:01 262485                     /lib/x86_64-linux-gnu/ld-2.23.so
7f6fab7b7000-7f6fab7b8000 rw-p 00000000 00:00 0 
7ffe15474000-7ffe15c73000 rw-p 00000000 00:00 0                          [stack]
7ffe15df4000-7ffe15df6000 r--p 00000000 00:00 0                          [vvar]
7ffe15df6000-7ffe15df8000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]


[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

gdb backtrace:

(gdb) bt
#0  0x00007fdc1f015428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007fdc1f01702a in __GI_abort () at abort.c:89
#2  0x00007fdc1fe7a003 in die () at error.c:478
#3  0x00007fdc1fe7a4a5 in rb_bug_context (ctx=<optimized out>, fmt=<optimized out>) at error.c:508
#4  0x00007fdc2011d649 in sigsegv (sig=<optimized out>, info=<optimized out>, ctx=0x21e5a00) at signal.c:907
#5  <signal handler called>
#6  end_element (pi=0x7ffe5fa3dd10, ename=<optimized out>) at obj_load.c:781
#7  0x00007fdc1e7a9222 in read_element (pi=<optimized out>) at parse.c:673
#8  0x00007fdc1e7a819d in read_element (pi=<optimized out>) at parse.c:644
#9  0x00007fdc1e7a3b53 in ox_parse (xml=<optimized out>, pcb=<optimized out>, endp=<optimized out>, options=<optimized out>, err=<optimized out>) at parse.c:186
#10 0x00007fdc1e79eea9 in to_obj (self=<optimized out>, ruby_xml=<optimized out>) at ox.c:648
#11 0x00007fdc202a2bb8 in call_cfunc_1 (func=0x7fdc1e79ebf0 <to_obj>, recv=140583383097112, argc=<optimized out>, argv=0x7fdc206c7048) at ./vm_insnhelper.c:1601
#12 0x00007fdc202946db in vm_call_cfunc_with_frame (th=<optimized out>, reg_cfp=<optimized out>, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ./vm_insnhelper.c:1768
#13 vm_call_cfunc (th=<optimized out>, reg_cfp=<optimized out>, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ./vm_insnhelper.c:1863
#14 0x00007fdc2028f791 in vm_call_method_each_type (th=<optimized out>, cfp=<optimized out>, calling=<optimized out>, ci=<optimized out>, cc=<optimized out>) at ./vm_insnhelper.c:2162
#15 0x00007fdc2028f560 in vm_call_method (th=0x21776d0, cfp=<optimized out>, calling=<optimized out>, ci=0x24dc7f0, cc=<optimized out>) at ./vm_insnhelper.c:2293
#16 0x00007fdc2028f1eb in vm_call_general (th=0x7fdc1e9c5f18, reg_cfp=0x7fdc207c8010, calling=0x602110 <__afl_area_initial>, ci=0x7ffe5fa3dcf8, cc=0x0) at ./vm_insnhelper.c:2325
#17 0x00007fdc2024e91a in vm_exec_core (th=<optimized out>, initial=<optimized out>) at insns.def:1066
#18 0x00007fdc202847c6 in vm_exec (th=0x21776d0) at vm.c:1774
#19 0x00007fdc20287278 in rb_iseq_eval_main (iseq=<optimized out>) at vm.c:2020
#20 0x00007fdc1fe913f9 in ruby_exec_internal (n=<optimized out>) at eval.c:244
#21 ruby_exec_node (n=<optimized out>) at eval.c:308
#22 ruby_run_node (n=<optimized out>) at eval.c:300
#23 0x00000000004011d7 in main (argc=<optimized out>, argv=0x7fdc207c8010) at main.c:28
@ohler55
Copy link
Owner

ohler55 commented Oct 27, 2017

You are trying to parse an invalid object XML string. Ox should handle the error more gracefully but that is the issue. Check the doc on the XML object format. Don't close the issue though. Ox should never crash. That has to be fixed.

@clod81
Copy link
Author

clod81 commented Oct 27, 2017

@ohler55 yes, I'm doing some research around gems with C extensions. I wasn't trying to use the functionality as intended.

@ohler55
Copy link
Owner

ohler55 commented Oct 28, 2017

Just released 2.8.1 with the fix.

@clod81
Copy link
Author

clod81 commented Oct 29, 2017

👍

@clod81 clod81 closed this as completed Oct 29, 2017
@carnil
Copy link

carnil commented Nov 11, 2017

FTR, this issue got assigned CVE-2017-15928

@ohler55
Copy link
Owner

ohler55 commented Nov 11, 2017

Is it still an issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants