The Fiddle::Handle implementation in ext/fiddle/handle.c in Ruby before 2.0.0-p648, 2.1 before 2.1.8, and 2.2 before 2.2.4, as distributed in Apple OS X before 10.11.4 and other products, mishandles tainting, which allows context-dependent attackers to execute arbitrary code or cause a denial of service (application crash) via a crafted string, related to the DL module and the libffi library. NOTE: this vulnerability exists because of a CVE-2009-5147 regression.
bugs.debian.org/cgi-bin/bugreport.cgi?bug=796344
bugs.debian.org/cgi-bin/bugreport.cgi?bug=796551
lists.apple.com/archives/security-announce/2016/Mar/msg00004.html
www.oracle.com/technetwork/topics/security/bulletinapr2016-2952098.html
www.securityfocus.com/bid/76060
access.redhat.com/errata/RHSA-2018:0583
github.com/ruby/ruby/commit/339e11a7f178312d937b7c95dd3115ce7236597a
people.canonical.com/~ubuntu-security/cve/2015/CVE-2015-7551.html
puppet.com/security/cve/ruby-dec-2015-security-fixes
support.apple.com/HT206167
www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/