Browse files

Clean tag attributes before passing through the escape_once logic.

Addresses CVE-2009-3009
  • Loading branch information...
1 parent e31d29f commit 5b8b41732f385131d4e1f1a8862d71f44dcc992d @NZKoz NZKoz committed Aug 31, 2009
Showing with 1 addition and 1 deletion.
  1. +1 −1 actionpack/lib/action_view/helpers/tag_helper.rb
View
2 actionpack/lib/action_view/helpers/tag_helper.rb
@@ -99,7 +99,7 @@ def cdata_section(content)
# escape_once("<< Accept & Checkout")
# # => "<< Accept & Checkout"
def escape_once(html)
- html.to_s.gsub(/[\"><]|&(?!([a-zA-Z]+|(#\d+));)/) { |special| ERB::Util::HTML_ESCAPE[special] }
+ ActiveSupport::Multibyte.clean(html.to_s).gsub(/[\"><]|&(?!([a-zA-Z]+|(#\d+));)/) { |special| ERB::Util::HTML_ESCAPE[special] }
end
private

0 comments on commit 5b8b417

Please sign in to comment.