CVE-2012-3463: XSS

Published Aug 10, 2012
·
Updated

Cross-site scripting (XSS) vulnerability in actionpack/lib/actionview/helpers/formtaghelper.rb in Ruby on Rails 3.x before 3.0.17, 3.1.x before 3.1.8, and 3.2.x before 3.2.8 allows remote attackers to inject arbitrary web script or HTML via the prompt field to the selecttag helper.

Other sources

Cross-site scripting (XSS) vulnerability in actionpack/lib/actionview/helpers/formtaghelper.rb in Ruby on Rails 3.x before 3.0.17, 3.1.x before 3.1.8, and 3.2.x before 3.2.8 allows remote attackers to inject arbitrary web script or HTML via the prompt field to the selecttag helper.

The ruby on Rails project reports:

There is a vulnerability in Ruby on Rails in the selecttag helper method when a "prompt" is supplied. This vulnerability has been assigned the CVE identifier CVE-2012-3463.

Versions Affected: 3.x. Not affected: 2.3.x Fixed Versions: 3.2.8, 3.1.8, 3.0.17

Impact - ------ When a "prompt" value is supplied to the selecttag helper, the "prompt" value is not escaped. If untrusted data is not escaped, and is supplied as the prompt value, there is a potential for XSS attacks.

Vulnerable code will look something like this:

selecttag("name", options, :prompt => UNTRUSTEDINPUT)

All users running an affected release should either upgrade or use one of the work arounds immediately.

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

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

A possible workaround for this vulnerability is to escape user input supplied to the prompt key:

selecttag("name", options, :prompt => h(UNTRUSTEDINPUT))

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-selecttagprompt.patch - Patch for 3.0 series 3-1-selecttagprompt.patch - Patch for 3.1 series 3-2-selecttagprompt.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.

References: http://weblog.rubyonrails.org/2012/8/9/ann-rails-3-2-8-has-been-released/

Affected Software

86 affected componentsFixes available
redhat/rubygem-actionpack<3.0.17
3.0.17
redhat/rubygem-actionpack<3.1.8
3.1.8
redhat/rubygem-actionpack<3.2.8
3.2.8
rubygems/actionpack>=3.0<3.0.17
3.0.17
rubygems/actionpack>=3.2.0<3.2.8
3.2.8
rubygems/actionpack>=3.1.0<3.1.8
3.1.8
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
rubyonrails Rails=3.0.12-rc1
rubyonrails Rails=3.0.13
rubyonrails Rails=3.0.13-rc1
rubyonrails Rails=3.0.14
rubyonrails Rails=3.0.16
rubyonrails 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
rubyonrails Rails=3.1.4-rc1
rubyonrails Rails=3.1.5
rubyonrails Rails=3.1.5-rc1
rubyonrails Rails=3.1.6
rubyonrails Rails=3.1.7
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
rubyonrails Rails=3.2.2-rc1
rubyonrails Rails=3.2.3
rubyonrails Rails=3.2.3-rc1
rubyonrails Rails=3.2.3-rc2
rubyonrails Rails=3.2.4
rubyonrails Rails=3.2.4-rc1
rubyonrails Rails=3.2.5
rubyonrails Rails=3.2.6
rubyonrails Rails=3.2.7

Event History

Aug 10, 2012
CVE Published
via MITRE·10:00 AM
Data Sourced
via MITRE·10:00 AM
Description
Oct 24, 2017
Advisory Published
06:33 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2012-3463?

CVE-2012-3463 has a medium severity rating due to its potential impact on user data through cross-site scripting attacks.

2

How do I fix CVE-2012-3463?

To fix CVE-2012-3463, upgrade your Ruby on Rails application to version 3.0.17, 3.1.8, or 3.2.8 or later.

3

Which versions of Ruby on Rails are affected by CVE-2012-3463?

CVE-2012-3463 affects Ruby on Rails versions prior to 3.0.17, 3.1.8, and 3.2.8.

4

What type of vulnerability is CVE-2012-3463?

CVE-2012-3463 is a cross-site scripting (XSS) vulnerability that allows attackers to inject arbitrary web scripts or HTML.

5

Can CVE-2012-3463 be exploited remotely?

Yes, CVE-2012-3463 can be exploited remotely by attackers who can manipulate the `prompt` field to inject malicious code.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203