Rails Active Support has a possible XSS vulnerability in SafeBuffer#%
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-79.
Summary
Active Support is a toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Prior to versions 8.1.2.1, 8.0.4.1, and 7.2.3.1, `SafeBuffer#%` does not propagate the `@html_unsafe` flag to the newly created buffer. If a `SafeBuffer` is mutated in place (e.g. via `gsub!`) and then formatted with `%` using untrusted arguments, the result incorrectly reports `html_safe? == true`, bypassing ERB auto-escaping and possibly leading to XSS. Versions 8.1.2.1, 8.0.4.1, and 7.2.3.1 contain a patch.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Rails | activesupport | 8.1.0.beta1 to before 8.1.2.1; 8.0.0.beta1 to before 8.0.4.1; before 7.2.3.1 | 8.1.2.1, 8.0.4.1, 7.2.3.1 | Patch available | CNA |
| — | activesupport (RubyGems) | 8.1.0.beta1 to before 8.1.2.1 | 8.1.2.1 | Patch available | GHSA-89vf-4333-qx8v |
| — | activesupport (RubyGems) | 8.0.0.beta1 to before 8.0.4.1 | 8.0.4.1 | Patch available | GHSA-89vf-4333-qx8v |
| — | activesupport (RubyGems) | before 7.2.3.1 | 7.2.3.1 | Patch available | GHSA-89vf-4333-qx8v |
- activesupport VendorRails Affected 8.1.0.beta1 to before 8.1.2.1; 8.0.0.beta1 to before 8.0.4.1; before 7.2.3.1 Fixed in 8.1.2.1, 8.0.4.1, 7.2.3.1 Patch available CNA
- activesupport (RubyGems) Vendor— Affected 8.1.0.beta1 to before 8.1.2.1 Fixed in 8.1.2.1 Patch available GHSA-89vf-4333-qx8v
- activesupport (RubyGems) Vendor— Affected 8.0.0.beta1 to before 8.0.4.1 Fixed in 8.0.4.1 Patch available GHSA-89vf-4333-qx8v
- activesupport (RubyGems) Vendor— Affected before 7.2.3.1 Fixed in 7.2.3.1 Patch available GHSA-89vf-4333-qx8v
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:* | before 7.2.3.1; 8.0.0 to before 8.0.4.1; 8.1.0 to before 8.1.2.1 | Vulnerable | Rails |
- cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:* Versions before 7.2.3.1; 8.0.0 to before 8.0.4.1; 8.1.0 to before 8.1.2.1 Vulnerable ·Rails
Remediation
- Fix · CNA activesupport (rails) Fixed in 8.1.2.1, 8.0.4.1, 7.2.3.1
- Fix · GHSA-89vf-4333-qx8v activesupport (RubyGems) Fixed in 8.1.2.1 Advisory →
- Fix · GHSA-89vf-4333-qx8v activesupport (RubyGems) Fixed in 8.0.4.1 Advisory →
- Fix · GHSA-89vf-4333-qx8v activesupport (RubyGems) Fixed in 7.2.3.1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Satellite 6 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33170
- 2026-10-03 Alias added: GHSA-89vf-4333-qx8v
References
Patch 3
Advisory 2
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-2026-33170 · CVE Program
- CVE-2026-33170 · NVD
- FIRST EPSS
- GHSA-89vf-4333-qx8v · GitHub Advisory Database · CC BY 4.0
- CVE-2026-33170 · 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