From 403173436d2c24ed0613a09b1e6d8f5d01ef0e22 Mon Sep 17 00:00:00 2001 From: FC Stegerman Date: Thu, 15 Dec 2022 09:04:37 +0100 Subject: [PATCH 1/6] make loofah more restrictive in allowed HTML tags --- lib/fdroid/Package.rb | 12 ++++++++++++ spec/lib/fdroid/FDroidIndex_spec.rb | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/lib/fdroid/Package.rb b/lib/fdroid/Package.rb index e8d0c51..6ba01c6 100644 --- a/lib/fdroid/Package.rb +++ b/lib/fdroid/Package.rb @@ -19,6 +19,18 @@ require 'loofah' require_relative './Version' +# override the HTML elements loofah allows; be more restrictive +module Loofah::HTML5::Scrub + OVERRIDDEN_SAFE_ELEMENTS = Set.new( + ["b", "big", "blockquote", "br", "cite", "em", "i", "small", + "strike", "strong", "sub", "sup", "tt", "u"] + ) + + def self.allowed_element?(element_name) + OVERRIDDEN_SAFE_ELEMENTS.include?(element_name) + end +end + module FDroid class Package def initialize(package, versions, locale) diff --git a/spec/lib/fdroid/FDroidIndex_spec.rb b/spec/lib/fdroid/FDroidIndex_spec.rb index 831617e..0f653a1 100644 --- a/spec/lib/fdroid/FDroidIndex_spec.rb +++ b/spec/lib/fdroid/FDroidIndex_spec.rb @@ -115,6 +115,23 @@ here" multi_line = Package.process_package_description(text) expect(multi_line).to eql(text) end + + it 'Scrubs ,