Rapid7 Vulnerability & Exploit Database

Ruby on Rails JSON Processor Floating Point Heap Overflow DoS

Back to Search

Ruby on Rails JSON Processor Floating Point Heap Overflow DoS



When Ruby attempts to convert a string representation of a large floating point decimal number to its floating point equivalent, a heap-based buffer overflow can be triggered. This module has been tested successfully on a Ruby on Rails application using Ruby version 1.9.3-p448 with WebRick and Thin web servers, where the Rails application crashes with a segfault error. Other versions of Ruby are reported to be affected.


  • Charlie Somerville
  • joev <joev@metasploit.com>
  • todb <todb@metasploit.com>


Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':

msf > use auxiliary/dos/http/rails_json_float_dos
msf auxiliary(rails_json_float_dos) > show actions
msf auxiliary(rails_json_float_dos) > set ACTION < action-name >
msf auxiliary(rails_json_float_dos) > show options
    ...show and set options...
msf auxiliary(rails_json_float_dos) > run 

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security