First published: Fri Mar 02 2012(Updated: )
A cross-site scripting (XSS) flaw was found in the way the String class, used in Ruby on Rails, performed HTML escaping of SafeBuffer objects, when such objects were manipulated directly via '[]' method or other methods, also returning new instances of SafeBuffer object. By using these methods, such newly returned SafeBuffer instances would be inadvertently marked as HTML safe. If a Ruby on Rails application used SafeBuffer objects this way, a remote attacker could provide a specially-crafted input, which once processed by such SafeBuffer instance would pass the HTML escaping test without further filtering, possibly leading to arbitrary HTML or webscript execution. References: [1] <a href="http://weblog.rubyonrails.org/2012/3/1/ann-rails-3-0-12-has-been-released">http://weblog.rubyonrails.org/2012/3/1/ann-rails-3-0-12-has-been-released</a> [2] <a href="http://groups.google.com/group/rubyonrails-security/browse_thread/thread/edd28f1e3d04e913">http://groups.google.com/group/rubyonrails-security/browse_thread/thread/edd28f1e3d04e913</a> [3] <a href="https://bugs.gentoo.org/show_bug.cgi?id=406547">https://bugs.gentoo.org/show_bug.cgi?id=406547</a> Proposed upstream patches: [4] <a href="http://groups.google.com/group/rubyonrails-security/attach/1c2e01a5e42722c9/3-0-safe-buffer-slice.patch?part=3">http://groups.google.com/group/rubyonrails-security/attach/1c2e01a5e42722c9/3-0-safe-buffer-slice.patch?part=3</a> (against v3.0 branch) [5] <a href="http://groups.google.com/group/rubyonrails-security/attach/1c2e01a5e42722c9/3-1-safe-buffer-slice.patch?part=4">http://groups.google.com/group/rubyonrails-security/attach/1c2e01a5e42722c9/3-1-safe-buffer-slice.patch?part=4</a> (against v3.1 branch) [6] <a href="http://groups.google.com/group/rubyonrails-security/attach/1c2e01a5e42722c9/3-2-safe-buffer-slice.patch?part=5">http://groups.google.com/group/rubyonrails-security/attach/1c2e01a5e42722c9/3-2-safe-buffer-slice.patch?part=5</a> (against v3.2 branch)
Credit: secalert@redhat.com secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/rubygem-activesupport | <3.0.12 | 3.0.12 |
redhat/rubygem-activesupport | <3.1.4 | 3.1.4 |
redhat/rubygem-activesupport | <3.2.2 | 3.2.2 |
rubygems/activesupport | >=3.2.0<3.2.2 | 3.2.2 |
rubygems/activesupport | >=3.1.0<3.1.4 | 3.1.4 |
rubygems/activesupport | >=3.0.0<3.0.12 | 3.0.12 |
rubyonrails Rails | =3.0.0 | |
rubyonrails Rails | =3.0.0-beta | |
rubyonrails Rails | =3.0.0-beta2 | |
rubyonrails Rails | =3.0.0-beta3 | |
rubyonrails Rails | =3.0.0-beta4 | |
rubyonrails Rails | =3.0.0-rc | |
rubyonrails Rails | =3.0.0-rc2 | |
rubyonrails Rails | =3.0.1 | |
rubyonrails Rails | =3.0.1-pre | |
rubyonrails Rails | =3.0.2 | |
rubyonrails Rails | =3.0.2-pre | |
rubyonrails Rails | =3.0.3 | |
rubyonrails Rails | =3.0.4-rc1 | |
rubyonrails Rails | =3.0.5 | |
rubyonrails Rails | =3.0.5-rc1 | |
rubyonrails Rails | =3.0.6 | |
rubyonrails Rails | =3.0.6-rc1 | |
rubyonrails Rails | =3.0.6-rc2 | |
rubyonrails Rails | =3.0.7 | |
rubyonrails Rails | =3.0.7-rc1 | |
rubyonrails Rails | =3.0.7-rc2 | |
rubyonrails Rails | =3.0.8 | |
rubyonrails Rails | =3.0.8-rc1 | |
rubyonrails Rails | =3.0.8-rc2 | |
rubyonrails Rails | =3.0.8-rc3 | |
rubyonrails Rails | =3.0.8-rc4 | |
rubyonrails Rails | =3.0.9 | |
rubyonrails Rails | =3.0.9-rc1 | |
rubyonrails Rails | =3.0.9-rc2 | |
rubyonrails Rails | =3.0.9-rc3 | |
rubyonrails Rails | =3.0.9-rc4 | |
rubyonrails Rails | =3.0.9-rc5 | |
rubyonrails Rails | =3.0.10 | |
rubyonrails Rails | =3.0.10-rc1 | |
rubyonrails Rails | =3.0.11 | |
rubyonrails Rails | =3.0.12-rc1 | |
Ruby on Rails | =3.0.4 | |
rubyonrails Rails | =3.1.0 | |
rubyonrails Rails | =3.1.0-beta1 | |
rubyonrails Rails | =3.1.0-rc1 | |
rubyonrails Rails | =3.1.0-rc2 | |
rubyonrails Rails | =3.1.0-rc3 | |
rubyonrails Rails | =3.1.0-rc4 | |
rubyonrails Rails | =3.1.0-rc5 | |
rubyonrails Rails | =3.1.0-rc6 | |
rubyonrails Rails | =3.1.0-rc7 | |
rubyonrails Rails | =3.1.0-rc8 | |
rubyonrails Rails | =3.1.1 | |
rubyonrails Rails | =3.1.1-rc1 | |
rubyonrails Rails | =3.1.1-rc2 | |
rubyonrails Rails | =3.1.1-rc3 | |
rubyonrails Rails | =3.1.2 | |
rubyonrails Rails | =3.1.2-rc1 | |
rubyonrails Rails | =3.1.2-rc2 | |
rubyonrails Rails | =3.1.3 | |
rubyonrails Rails | =3.1.4-rc1 | |
rubyonrails Rails | =3.2.0 | |
rubyonrails Rails | =3.2.0-rc1 | |
rubyonrails Rails | =3.2.0-rc2 | |
rubyonrails Rails | =3.2.1 | |
rubyonrails Rails | =3.2.2-rc1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.