Vulnerabilities / Threats
1/9/2013
12:38 PM
Connect Directly
RSS
E-Mail
50%
50%

Critical Ruby On Rails Issue Threatens 240,000 Websites

Bug allows attackers to execute arbitrary code on any version of Ruby published in the last six years.

All versions of the open source Ruby on Rails Web application framework released in the past six years have a critical vulnerability that an attacker could exploit to execute arbitrary code, steal information from databases and crash servers. As a result, all Ruby users should immediately upgrade to a newly released, patched version of the software.

That warning was sounded Tuesday in a Google Groups post made by Aaron Patterson, a key Ruby programmer. "Due to the critical nature of this vulnerability, and the fact that portions of it have been disclosed publicly, all users running an affected release should either upgrade or use one of the work arounds immediately," he wrote. The patched versions of Ruby on Rails (RoR) are 3.2.11, 3.1.10, 3.0.19 and 2.3.15.

As a result, more than 240,000 websites that use Ruby on Rails Web applications are at risk of being exploited by attackers. High-profile websites that employ the software include Basecamp, Github, Hulu, Pitchfork, Scribd and Twitter.

[ A successful crimeware toolkit author is going on a shopping spree. See Blackhole Botnet Creator Buys Up Zero Day Exploits. ]

Ben Murphy, a developer who helped to confirm the vulnerability, described the underlying flaw as "quite bad" to Ars Technica. "An attack can send a request to any Ruby on Rails sever and then execute arbitrary commands. Even though it's complex, it's reliable, so it will work 100% of the time," he said.

In a website post, Murphy further noted that the vulnerability affects "any rails version for the last 6 years," and said he'd written -- but not released -- proof-of-concept attacks that work for "Rails 3.x and Rails 2.x on Ruby 1.9.3, Ruby 1.9.2 and Ruby 1.8.7 and there is no reason to believe this wouldn't work on any Ruby/Rails combination since when the bug has been introduced." In addition, he said, "the exploit does not depend on code the user has written and will work with a new rails application without any controllers."

What's the exact nature of the vulnerability? "The summary is that the XML processor in RoR can be tricked into decoding the request as a YAML document or as a Ruby Symbol, both of which can expose the application to remote code execution or SQL injection," said HD Moore, the creator of the open source penetration testing toolkit Metasploit, in a blog post. (YAML is a human-readable data serialization format.)

"These kinds of bugs are close to my heart, as Metasploit itself is written in Ruby, and we use Ruby on Rails within the Metasploit Community, Express and Pro user interfaces," he said. But he noted that all versions of Metasploit have now been updated with a workaround to protect them against the vulnerability.

While security researchers haven't published a working, proof-of-concept exploit, many people are now hard at work studying both the vulnerability as well as techniques for exploiting it. "If this pans out, this would put thousands of production websites at risk of remote compromise," said Moore.

Vulnerability-wise, it hasn't been a good month for Ruby on Rails. Last week, the team behind the framework warned that all current versions of Rails were vulnerable to a SQL injection flaw. They simultaneously released updated versions of the framework that patched the flaw.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Andrew Hornback
50%
50%
Andrew Hornback,
User Rank: Apprentice
1/10/2013 | 2:45:11 AM
re: Critical Ruby On Rails Issue Threatens 240,000 Websites
OUCH! Looks like there are a lot of web server admins out there that are going to be putting in a little overtime this week.

How does a vulnerability like this go unnoticed for 6 years? Especially one with such ramifications. That also begs the question, what ELSE is out there, lurking in the deep waters, waiting to bite?

Andrew Hornback
InformationWeek Contributor
Register for Dark Reading Newsletters
White Papers
Flash Poll
Current Issue
Cartoon
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2013-6306
Published: 2014-08-22
Unspecified vulnerability on IBM Power 7 Systems 740 before 740.70 01Ax740_121, 760 before 760.40 Ax760_078, and 770 before 770.30 01Ax770_062 allows local users to gain Service Processor privileges via unknown vectors.

CVE-2014-0232
Published: 2014-08-22
Multiple cross-site scripting (XSS) vulnerabilities in framework/common/webcommon/includes/messages.ftl in Apache OFBiz 11.04.01 before 11.04.05 and 12.04.01 before 12.04.04 allow remote attackers to inject arbitrary web script or HTML via unspecified vectors, which are not properly handled in a (1)...

CVE-2014-3525
Published: 2014-08-22
Unspecified vulnerability in Apache Traffic Server 4.2.1.1 and 5.x before 5.0.1 has unknown impact and attack vectors, possibly related to health checks.

CVE-2014-3563
Published: 2014-08-22
Multiple unspecified vulnerabilities in Salt (aka SaltStack) before 2014.1.10 allow local users to have an unspecified impact via vectors related to temporary file creation in (1) seed.py, (2) salt-ssh, or (3) salt-cloud.

CVE-2014-3594
Published: 2014-08-22
Cross-site scripting (XSS) vulnerability in the Host Aggregates interface in OpenStack Dashboard (Horizon) before 2013.2.4, 2014.1 before 2014.1.2, and Juno before Juno-3 allows remote administrators to inject arbitrary web script or HTML via a new host aggregate name.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Three interviews on critical embedded systems and security, recorded at Black Hat 2014 in Las Vegas.