CVE-2022-32209 Rails::Html::Sanitizer vulnerable to Cross-site Scripting
Attackers can inject malicious scripts if developers override sanitizer allowed tags to include both select and style elements.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2022-32209?
CVE-2022-32209 is a medium-severity cross-site scripting vulnerability in Debian Debian Linux, published on 24 Jun 2022. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
# Possible XSS Vulnerability in Rails::Html::SanitizerThere is a possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.This vulnerability has been assigned the CVE identifier CVE-2022-32209.Versions Affected: ALLNot affected: NONEFixed Versions: v1.4.3## ImpactA possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer may allow an attacker to inject content if the application developer has overridden the sanitizer's allowed tags to allow both `select` and `style` elements.Code is only impacted if allowed tags are being overridden. This may be done via application configuration:```ruby# In config/application.rbconfig.action_view.sanitized_allowed_tags = ["select", "style"]```see https://guides.rubyonrails.org/configuring.html#configuring-action-viewOr it may be done with a `:tags` option to the Action View helper `sanitize`:```<%= sanitize @comment.body, tags: ["select", "style"] %>```see https://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-sanitizeOr it may be done with Rails::Html::SafeListSanitizer directly:```ruby# class-level optionRails::Html::SafeListSanitizer.allowed_tags = ["select", "style"]```or```ruby# instance-level optionRails::Html::SafeListSanitizer.new.sanitize(@article.body, tags: ["select", "style"])```All users overriding the allowed tags by any of the above mechanisms to include both "select" and "style" should either upgrade or use one of the workarounds immediately.## ReleasesThe FIXED releases are available at the normal locations.## WorkaroundsRemove either `select` or `style` from the overridden allowed tags.## CreditsThis vulnerability was responsibly reported by [windshock](https://hackerone.com/windshock?type=user).
Weakness: CWE-79
Which versions are affected by CVE-2022-32209?
2 open source packages ship an affected version, including rails-html-sanitizer. It affects 3 products.
| Package | Affected | Fixed in |
|---|---|---|
rails-html-sanitizer RubyGems | All versions | 1.4.3 |
rails-html-sanitizer RubyGems | All versions | 1.4.3 |
Linux distribution packages (9)
rubygem-rails-html-sanitizer SUSE:Linux Enterprise High Availability Extension 15 | All versions | 1.0.4-150000.4.3.1 |
rubygem-rails-html-sanitizer SUSE:Linux Enterprise High Availability Extension 15 SP1 | All versions | 1.0.4-150000.4.3.1 |
rubygem-rails-html-sanitizer SUSE:Linux Enterprise High Availability Extension 15 SP2 | All versions | 1.0.4-150000.4.3.1 |
rubygem-rails-html-sanitizer SUSE:Linux Enterprise High Availability Extension 15 SP3 | All versions | 1.0.4-150000.4.3.1 |
rubygem-rails-html-sanitizer SUSE:Linux Enterprise High Availability Extension 15 SP4 | All versions | 1.0.4-150000.4.3.1 |
rubygem-rails-html-sanitizer SUSE:OpenStack Cloud Crowbar 8 | All versions | 1.0.3-8.11.1 |
rubygem-rails-html-sanitizer SUSE:OpenStack Cloud Crowbar 9 | All versions | 1.0.3-8.11.1 |
rubygem-rails-html-sanitizer openSUSE:Leap 15.3 | All versions | 1.0.4-150000.4.3.1 |
rubygem-rails-html-sanitizer openSUSE:Leap 15.4 | All versions | 1.0.4-150000.4.3.1 |
Products include Debian Debian Linux, Fedoraproject Fedora, Rubyonrails Rails Html Sanitizers.
How do I fix CVE-2022-32209?
Upgrade rails-html-sanitizer to 1.4.3 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2022-32209 being exploited?
There is no known exploitation of CVE-2022-32209 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as DEBIAN-CVE-2022-32209, DLA-3227-1, GHSA-pg8v-g4xq-hww9, SUSE-SU-2022:2870-1, SUSE-SU-2022:2885-1, UBUNTU-CVE-2022-32209.