Lucene search

K
rubygemsRubySecRUBY:RAILS-HTML-SANITIZER-2022-32209
HistoryJun 08, 2022 - 9:00 p.m.

Possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer

2022-06-0821:00:00
RubySec
rubysec.com
20

There 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: ALL
Not affected: NONE
Fixed Versions: v1.4.3

Impact

A 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:

# In config/application.rb
config.action_view.sanitized_allowed_tags = ["select", "style"]

see https://guides.rubyonrails.org/configuring.html#configuring-action-view

Or 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-sanitize

Or it may be done with Rails::Html::SafeListSanitizer directly:

# class-level option
Rails::Html::SafeListSanitizer.allowed_tags = ["select", "style"]

or

# instance-level option
Rails::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.

Workarounds

Remove either select or style from the overridden allowed tags.

CPENameOperatorVersion
rails-html-sanitizerlt1.4.3