The cross-site scripting (XSS) prevention feature in Ruby on Rails 2.x before 2.3.12…
Priority LOW 24CWE-79Published · Updated
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- — Not recorded in CVSS 2.0
- Attack complexity
- Medium
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · Partial · None
- Fix status
- Fixed
Attack profile from CVSS 2.0 · NVD. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
The cross-site scripting (XSS) prevention feature in Ruby on Rails 2.x before 2.3.12, 3.0.x before 3.0.8, and 3.1.x before 3.1.0.rc2 does not properly handle mutation of safe buffers, which makes it easier for remote attackers to conduct XSS attacks via crafted strings to an application that uses a problematic string method, as demonstrated by the sub method.
Why it matters now
EPSS 0.01962 80th percentileScored 2026-11-07
Fix Fixed actionpack (RubyGems): 2.3.12, 3.0.8activesupport (RubyGems): 2.3.12, 3.0.8
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | — | all versions | — | No fix listed | CNA |
| — | actionpack (RubyGems) | 2.0.0 to before 2.3.12 | 2.3.12 | Patch available | GHSA-v9v4-7jp6-8c73 |
| — | actionpack (RubyGems) | 3.0.0 to before 3.0.8 | 3.0.8 | Patch available | GHSA-v9v4-7jp6-8c73 |
| — | activesupport (RubyGems) | 2.0.0 to before 2.3.12 | 2.3.12 | Patch available | GHSA-v9v4-7jp6-8c73 |
| — | activesupport (RubyGems) | 3.0.0 to before 3.0.8 | 3.0.8 | Patch available | GHSA-v9v4-7jp6-8c73 |
- — Vendor— Affected all versions Fixed in — No fix listed CNA
- actionpack (RubyGems) Vendor— Affected 2.0.0 to before 2.3.12 Fixed in 2.3.12 Patch available GHSA-v9v4-7jp6-8c73
- actionpack (RubyGems) Vendor— Affected 3.0.0 to before 3.0.8 Fixed in 3.0.8 Patch available GHSA-v9v4-7jp6-8c73
- activesupport (RubyGems) Vendor— Affected 2.0.0 to before 2.3.12 Fixed in 2.3.12 Patch available GHSA-v9v4-7jp6-8c73
- activesupport (RubyGems) Vendor— Affected 3.0.0 to before 3.0.8 Fixed in 3.0.8 Patch available GHSA-v9v4-7jp6-8c73
CPE configurations NVD · 47
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:rubyonrails:rails:2.0.0:*:*:*:*:*:*:* | 2.0.0 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.0.0:rc1:*:*:*:*:*:* | 2.0.0 rc1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.0.0:rc2:*:*:*:*:*:* | 2.0.0 rc2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.0.1:*:*:*:*:*:*:* | 2.0.1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.0.2:*:*:*:*:*:*:* | 2.0.2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.0.4:*:*:*:*:*:*:* | 2.0.4 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.1.0:*:*:*:*:*:*:* | 2.1.0 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.1.1:*:*:*:*:*:*:* | 2.1.1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.1.2:*:*:*:*:*:*:* | 2.1.2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.2.0:*:*:*:*:*:*:* | 2.2.0 | Vulnerable | Rails |
- cpe:2.3:a:rubyonrails:rails:2.0.0:*:*:*:*:*:*:* Versions 2.0.0 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.0.0:rc1:*:*:*:*:*:* Versions 2.0.0 rc1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.0.0:rc2:*:*:*:*:*:* Versions 2.0.0 rc2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.0.1:*:*:*:*:*:*:* Versions 2.0.1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.0.2:*:*:*:*:*:*:* Versions 2.0.2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.0.4:*:*:*:*:*:*:* Versions 2.0.4 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.1.0:*:*:*:*:*:*:* Versions 2.1.0 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.1.1:*:*:*:*:*:*:* Versions 2.1.1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.1.2:*:*:*:*:*:*:* Versions 2.1.2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.2.0:*:*:*:*:*:*:* Versions 2.2.0 Vulnerable ·Rails
Show 37 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:rubyonrails:rails:2.2.1:*:*:*:*:*:*:* | 2.2.1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.2.2:*:*:*:*:*:*:* | 2.2.2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.3.2:*:*:*:*:*:*:* | 2.3.2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.3.3:*:*:*:*:*:*:* | 2.3.3 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.3.4:*:*:*:*:*:*:* | 2.3.4 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.3.9:*:*:*:*:*:*:* | 2.3.9 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.3.10:*:*:*:*:*:*:* | 2.3.10 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:2.3.11:*:*:*:*:*:*:* | 2.3.11 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:*:*:*:*:*:*:* | 3.0.0 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:beta:*:*:*:*:*:* | 3.0.0 beta | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:beta2:*:*:*:*:*:* | 3.0.0 beta2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:beta3:*:*:*:*:*:* | 3.0.0 beta3 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:beta4:*:*:*:*:*:* | 3.0.0 beta4 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:rc:*:*:*:*:*:* | 3.0.0 rc | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.0:rc2:*:*:*:*:*:* | 3.0.0 rc2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.1:*:*:*:*:*:*:* | 3.0.1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.1:pre:*:*:*:*:*:* | 3.0.1 pre | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.2:*:*:*:*:*:*:* | 3.0.2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.2:pre:*:*:*:*:*:* | 3.0.2 pre | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.3:*:*:*:*:*:*:* | 3.0.3 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.4:rc1:*:*:*:*:*:* | 3.0.4 rc1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.5:*:*:*:*:*:*:* | 3.0.5 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.5:rc1:*:*:*:*:*:* | 3.0.5 rc1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.6:*:*:*:*:*:*:* | 3.0.6 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.6:rc1:*:*:*:*:*:* | 3.0.6 rc1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.6:rc2:*:*:*:*:*:* | 3.0.6 rc2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.7:*:*:*:*:*:*:* | 3.0.7 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.7:rc1:*:*:*:*:*:* | 3.0.7 rc1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.7:rc2:*:*:*:*:*:* | 3.0.7 rc2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.8:rc1:*:*:*:*:*:* | 3.0.8 rc1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.8:rc2:*:*:*:*:*:* | 3.0.8 rc2 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.8:rc3:*:*:*:*:*:* | 3.0.8 rc3 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.0.8:rc4:*:*:*:*:*:* | 3.0.8 rc4 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:ruby_on_rails:3.0.4:*:*:*:*:*:*:* | 3.0.4 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.1.0:*:*:*:*:*:*:* | 3.1.0 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.1.0:beta1:*:*:*:*:*:* | 3.1.0 beta1 | Vulnerable | Rails |
| cpe:2.3:a:rubyonrails:rails:3.1.0:rc1:*:*:*:*:*:* | 3.1.0 rc1 | Vulnerable | Rails |
- cpe:2.3:a:rubyonrails:rails:2.2.1:*:*:*:*:*:*:* Versions 2.2.1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.2.2:*:*:*:*:*:*:* Versions 2.2.2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.3.2:*:*:*:*:*:*:* Versions 2.3.2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.3.3:*:*:*:*:*:*:* Versions 2.3.3 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.3.4:*:*:*:*:*:*:* Versions 2.3.4 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.3.9:*:*:*:*:*:*:* Versions 2.3.9 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.3.10:*:*:*:*:*:*:* Versions 2.3.10 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:2.3.11:*:*:*:*:*:*:* Versions 2.3.11 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:*:*:*:*:*:*:* Versions 3.0.0 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:beta:*:*:*:*:*:* Versions 3.0.0 beta Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:beta2:*:*:*:*:*:* Versions 3.0.0 beta2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:beta3:*:*:*:*:*:* Versions 3.0.0 beta3 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:beta4:*:*:*:*:*:* Versions 3.0.0 beta4 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:rc:*:*:*:*:*:* Versions 3.0.0 rc Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.0:rc2:*:*:*:*:*:* Versions 3.0.0 rc2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.1:*:*:*:*:*:*:* Versions 3.0.1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.1:pre:*:*:*:*:*:* Versions 3.0.1 pre Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.2:*:*:*:*:*:*:* Versions 3.0.2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.2:pre:*:*:*:*:*:* Versions 3.0.2 pre Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.3:*:*:*:*:*:*:* Versions 3.0.3 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.4:rc1:*:*:*:*:*:* Versions 3.0.4 rc1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.5:*:*:*:*:*:*:* Versions 3.0.5 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.5:rc1:*:*:*:*:*:* Versions 3.0.5 rc1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.6:*:*:*:*:*:*:* Versions 3.0.6 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.6:rc1:*:*:*:*:*:* Versions 3.0.6 rc1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.6:rc2:*:*:*:*:*:* Versions 3.0.6 rc2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.7:*:*:*:*:*:*:* Versions 3.0.7 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.7:rc1:*:*:*:*:*:* Versions 3.0.7 rc1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.7:rc2:*:*:*:*:*:* Versions 3.0.7 rc2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.8:rc1:*:*:*:*:*:* Versions 3.0.8 rc1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.8:rc2:*:*:*:*:*:* Versions 3.0.8 rc2 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.8:rc3:*:*:*:*:*:* Versions 3.0.8 rc3 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.0.8:rc4:*:*:*:*:*:* Versions 3.0.8 rc4 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:ruby_on_rails:3.0.4:*:*:*:*:*:*:* Versions 3.0.4 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.1.0:*:*:*:*:*:*:* Versions 3.1.0 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.1.0:beta1:*:*:*:*:*:* Versions 3.1.0 beta1 Vulnerable ·Rails
- cpe:2.3:a:rubyonrails:rails:3.1.0:rc1:*:*:*:*:*:* Versions 3.1.0 rc1 Vulnerable ·Rails
Remediation
- Fix · GHSA-v9v4-7jp6-8c73 actionpack (RubyGems) Fixed in 2.3.12 Advisory →
- Fix · GHSA-v9v4-7jp6-8c73 actionpack (RubyGems) Fixed in 3.0.8 Advisory →
- Fix · GHSA-v9v4-7jp6-8c73 activesupport (RubyGems) Fixed in 2.3.12 Advisory →
- Fix · GHSA-v9v4-7jp6-8c73 activesupport (RubyGems) Fixed in 3.0.8 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2011-2197
- 2026-10-03 Alias added: GHSA-v9v4-7jp6-8c73
References
Patch 4
- [rubyonrails-security] 20110607 Potential XSS Vulnerability in Ruby on Rails Applications
- http://weblog.rubyonrails.org/2011/6/8/potential-xss-vulnerability-in-ruby-on-rails-applications
- [oss-security] 20110609 CVE Request: Ruby on Rails 3/rails_xss XSS
- [oss-security] 20110613 Re: CVE Request: Ruby on Rails 3/rails_xss XSS
Other 5
- https://github.com/rails/rails/commit/53a2c0baf2b128dd4808eca313256f6f4bb8c4cd
- https://github.com/rails/rails/commit/ed3796434af6069ced6a641293cf88eef3b284da
- https://gist.github.com/NZKoz/b2ceb626fc2bcdfe497f
- https://github.com/rails/rails
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activesupport/CVE-2011-2197.yml
More Rails vulnerabilities
- TI-2014-00124 Directory traversal vulnerability in actionpack/lib/abstract_controller/base.rb in the… KEVCVSS 3.1HIGH 7.5
- TI-2019-03828 Path traversal in Rails https://github.com/rails/rails KEVCVSS 3.1HIGH 7.5
- TI-2016-00672 Directory traversal vulnerability in Action View in Ruby on Rails before 3.2.22.1, 4.0.x… KEVCVSS 3.1HIGH 7.5
- TI-2019-03830 Command injection in Rails https://github.com/rails/rails CVSS 3.1CRITICAL 9.8
- TI-2020-06581 Code injection in https://github.com/rails/rails CVSS 3.1HIGH 8.8
- TI-2013-00091 active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before… CVSS 2.0HIGH 7.5
Sources
- CVE-2011-2197 · CVE Program
- CVE-2011-2197 · NVD
- FIRST EPSS
- GHSA-v9v4-7jp6-8c73 · GitHub Advisory Database · CC BY 4.0
- CVE-2011-2197 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences