~/talk

Rails::HTML5: the strange and remarkable three-year journey

Talkat Rails World 2023 · 2023-10-05..10-06· [ruby-on-rails, security]
slides:none on file

A multi-year migration replaces an HTML4 sanitizer stack with HTML5-aware parsing so Rails 7.1 ships HTML5-compliant sanitizers by default. The work patches Nokogiri/libxml2, merges nokogumbo into nokogiri, adds HTML5 fragments to Loofah, and updates rails_html_sanitizer and Action View. Known mutation XSS exploits (select/style, SVG, MathML) drive the changes; Nokogiri HTML5 support takes ~1 year, Loofah ~6 months, and the integrated rollout completes in 2023 with libgumbo maintenance taken over.

AI-written summary · about

  1. 0:00Introduction and security puzzle
  2. 4:03HTML 4 vs HTML 5 sanitizers
  3. 13:51Mutation XSS vulnerabilities explained
  4. 16:16Evolution of Rails sanitizer stack
  5. 23:22Nokogiri HTML5 support updates
  6. 24:47Loofah and Rails HTML sanitizer upgrades
  7. 27:36Rails 7.1 HTML5 sanitizer support
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.