Ruby on Rails gets patches for SQL injection vulnerabilities

The two vulnerabilities affect Rails applications that use PostgreSQL as a database system

Two SQL injection vulnerabilities were patched in Ruby on Rails, a popular open-source Web development framework used by some high-profile websites.

The Rails developers released versions 3.2.19, 4.0.7 and 4.1.3 of the framework, and advised users to upgrade as soon as possible. Hours later they released versions 4.0.8 and 4.1.4 to fix a regression caused by the 4.0.7 and 4.1.3 updates.

[ InfoWorld's expert contributors show you how to secure your Web browsers in a free PDF guide. Download it today! | Learn how to protect your systems with Roger Grimes' Security Adviser blog and Security Central newsletter, both from InfoWorld. ]

One of the two SQL injection vulnerabilities affects applications running on Rails 2.0.0 to 3.2.18 that also use the PostgreSQL database system and query bit string data types. The second vulnerability affects applications running on Rails 4.0.0 to 4.1.2 when using PostgreSQL and querying range data types.

Despite affecting different versions, the two flaws are related and both allow attackers to inject arbitrary SQL code into queries using specially crafted values.

"The only feasible workaround for this issue is to not allow user controlled values to be used in queries with the affected data types," the Rails developers said in a security advisory. "Given the difficulty of ensuring this, upgrading is strongly advised."

For cases where an immediate version upgrade is not possible, the developers also released code patches that can be applied manually.

Ruby on Rails has gained popularity among developers in recent years and is already used by large sites including Hulu, Scribd, Kickstarter and GitHub. This earned the framework inclusion into the Internet Bug Bounty program sponsored by Facebook and Microsoft as "a critical piece of internet infrastructure."

Mobile Security Insider: iOS vs. Android vs. BlackBerry vs. Windows Phone
Join the discussion
Be the first to comment on this article. Our Commenting Policies