XSS in Rails Activesupport
CVE-2026-33170
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.
Vulnerability class: XSS (Cross-Site Scripting)
Published · last modified .
CVSS v3 metric
CVSS v3 base score 6.1 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N.
EPSS exploit prediction
EPSS: 0.004 (35.1th percentile), scored .
Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 35th percentile — 35.1% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.003 · newest: 0.004 · change: +0.001
Affected products
- Rails Activesupport — versions >= 8.1.0.beta1, < 8.1.2.1, >= 8.0.0.beta1, < 8.0.4.1, < 7.2.3.1
- Rubyonrails Rails
Weakness classification (CWE)
References
- github.com/rails/rails/security/advisories/GHSA-89vf-4333-qx8v (Vendor Advisory)
- github.com/rails/rails/commit/50d732af3b7c8aaf63cbcca0becbc00279b215b7 (Patch)
- github.com/rails/rails/commit/6e8a81108001d58043de9e54a06fca58962fc2db (Patch)
- github.com/rails/rails/commit/c1ad0e8e1972032f3395853a5e99cea035035beb (Patch)
- github.com/rails/rails/releases/tag/v7.2.3.1 (Release Notes)
- github.com/rails/rails/releases/tag/v8.0.4.1 (Release Notes)
- github.com/rails/rails/releases/tag/v8.1.2.1 (Release Notes)
Frequently asked questions
- What is CVE-2026-33170?
- CVE-2026-33170 is a medium-severity vulnerability in Rails Activesupport, classified under Cross-site Scripting. CVSS score: 6.1/10. Published 2026-03-24.
- How severe is CVE-2026-33170?
- Medium severity. CVSS v3 base score is 6.1 out of 10.