Well, it seems I jumped the gun. In Security issue in Liquid::Template, I thought I had a found a problem with the Liquid template engine. Instead, I should have looked more closely at what I do:
app/controllers/pages_controller.rb
1 class PagesController < ApplicationController
2 def show
3 # …
4 render(:inline => @page.render, :layout => false)
5 end
6 end
The details can be found at #render on the Ruby on Rails API. Seems like it’s time for us to switch to using render :text.
I am sorry for any scare I caused. If I had run a separate test case, I’d have immediately seen I was in error, and not Liquid.