HexBrain

Internet Bug Bounty · Report #2931710

#2931639 ActionView sanitize helper bypass with math-related tags

Validstatus
mediumseverity
22upvotes
6 Feb 2025disclosed

Summary

Summary

There is a possible XSS vulnerability with certain configurations of Rails::HTML::Sanitizer 1.6.0 when used with Rails >= 7.1.0.

Versions affected: 1.6.0 Not affected: < 1.6.0 Fixed versions: 1.6.1

Advisory: https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-cfjx-w229-hgx5

How it was found

Rails-html-sanitizer, which Rails AtionView also uses, fails to sanitize input when the style tag is allowed, leading to XSS. A vulnerable example would have been as follows;

<%= sanitize @comment.body, tags: ["math", "mtext", "table", "style", "mglyph"] %>
<%# or %>
<%= sanitize @comment.body, tags: ["math", "mtext", "table", "style", "malignmark"] %>

You could see other patterns/places where this is used in the security advisory. View #2519936 for details.

Impact

Sanitizer bypass that leads to XSS on applications built with it. It also affects applications using Rails Action View's sanitize helper: https://api.rubyonrails.org/v7.2/classes/ActionView/Helpers/SanitizeHelper.html

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original