Medium severity · published Mar 23, 2026
CVE-2026-33170
Rails Active Support has a possible XSS vulnerability in SafeBuffer#%
6.1
CVSS
0.3%
EPSS
No
On KEV
Description
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
Low
Integrity
Low
Availability
None
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 27% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AC
activesupport · rails
>= 8.1.0.beta1, < 8.1.2.1; >= 8.0.0.beta1, < 8.0.4.1; < 7.2.3.1 · source: vendor
RA
Rails · Rubyonrails
before 7.2.3.1; 8.0.0 before 8.0.4.1; 8.1.0 before 8.1.2.1 · source: NVD
Affected product
AC
activesupport
rails
More from activesupport
7.5
CVE-2026-33176
Rails Active Support has a possible DoS vulnerability in its number helpers
5.5
CVE-2023-38037
ActiveSupport::EncryptedFile writes contents that will be encrypted to a temporary file
5.3
CVE-2026-33169
Rails Active Support has a possible ReDoS vulnerability in number_to_delimited
5.3
CVE-2023-28120
There is a vulnerability in ActiveSupport if the new bytesplice method is called on a SafeBuffer with untrusted user input