First published: Fri Feb 22 2013(Updated: )
An unrestricted entity expansion flaw was reported in Ruby that can lead to a denial of service in REXML. When reading text nodes from an XML document, the REXML parser could be coerced into allocating extremely large string objects which could consume all available memory on the system. Impacted code would look similar to the following: document = REXML::Document.new some_xml_doc document.root.text In this case, when the 'text' method is called, entities will be expanded. An attacker could send a relatively small XML document that, when the entities were resolved, would consume extremely large amounts of memory on the target system. It is noted that this vulnerability is similar to the 'Billion Laughs' attack, and is also related to <a href="https://access.redhat.com/security/cve/CVE-2013-1664">CVE-2013-1664</a> (Python). The upstream advisory has a work-around patch that limits the size of entity substitutions. External References: <a href="http://www.ruby-lang.org/en/news/2013/02/22/rexml-dos-2013-02-22/">http://www.ruby-lang.org/en/news/2013/02/22/rexml-dos-2013-02-22/</a>
Credit: secalert@redhat.com secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
Ruby-lang Ruby | <=1.9.3 | |
Ruby-lang Ruby | =1.9 | |
Ruby-lang Ruby | =1.9.1 | |
Ruby-lang Ruby | =1.9.2 | |
Ruby-lang Ruby | =1.9.3 | |
Ruby-lang Ruby | =1.9.3-p0 | |
Ruby-lang Ruby | =1.9.3-p125 | |
Ruby-lang Ruby | =1.9.3-p194 | |
Ruby-lang Ruby | =1.9.3-p286 | |
Ruby-lang Ruby | =1.9.3-p383 | |
Ruby-lang Ruby | =2.0 | |
Ruby-lang Ruby | =2.0.0 | |
Ruby-lang Ruby | =2.0.0-rc1 | |
Ruby-lang Ruby | =2.0.0-rc2 | |
maven/org.jruby:jruby | <1.7.3 | 1.7.3 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.