Potential XSS Vulnerability in Ruby on Rails

1,976 views
Skip to first unread message

Michael Koziarski

unread,
Aug 9, 2012, 5:30:46 PM8/9/12
to rubyonrail...@googlegroups.com
There is a vulnerability in the HTML escaping code in Ruby on Rails.
This vulnerability has been assigned the CVE identifier CVE-2012-3464.

Versions Affected: All.
Not affected: None
Fixed Versions: 3.2.8, 3.1.8, 3.0.17

Impact
------
The HTML escaping code in Ruby on Rails does not escape all potentially
dangerous characters. In particular the code does not escape the single
quote character. The helpers used in Rails itself never use single
quotes, so most applications are unlikely to be vulnerable, however all
users running an affected release should still upgrade.

Releases
--------
The 3.2.8 and 3.1.8 releases are available at the normal locations.

Workarounds
-----------

For users on earlier releases or who are unable to upgrade, you can
install the attached file into config/initializers. This will upgrade
the rails helper to use the Rack::Utils.escape_html helper which does
escape the single quote character. However the Rack helper also escapes
the '/' character, this is likely to cause test failures if your
application is expecting the values of URLs to be unencoded. These tests
however browsers will correctly decode the values and function as expected.

Patches
-------
To aid users who aren't able to upgrade immediately we have provided
patches for the two supported release series. They are in git-am format
and consist of a single changeset.

* 3-0-escape_html.patch - Patch for 3.0 series
* 3-1-escape_html.patch - Patch for 3.1 series
* 3-2-escape_html.patch - Patch for 3.2 series

Please note that only the 3.1.x and 3.2.x series are supported at
present. Users of earlier unsupported releases are advised to upgrade
as soon as possible as we cannot guarantee the continued availability of
security fixes for unsupported releases.

--
Cheers,

Koz
3-0-escape_html.patch
3-1-escape_html.patch
3-2-escape_html.patch
single_quote_escape_workaround.rb
signature.asc
Reply all
Reply to author
Forward
0 new messages