diff --git a/src/HtmlSanitizer/HtmlSanitizer.cs b/src/HtmlSanitizer/HtmlSanitizer.cs index 5973a09..ead8a67 100644 --- a/src/HtmlSanitizer/HtmlSanitizer.cs +++ b/src/HtmlSanitizer/HtmlSanitizer.cs @@ -244,32 +244,139 @@ namespace Ganss.XSS /// /// The default allowed CSS properties. /// - public static ISet DefaultAllowedCssProperties { get; } = new HashSet(StringComparer.OrdinalIgnoreCase) { + public static ISet DefaultAllowedCssProperties { get; } = new HashSet(StringComparer.OrdinalIgnoreCase) + { // CSS 3 properties - "background", "background-attachment", "background-color", - "background-image", "background-position", "background-repeat", - "border", "border-bottom", "border-bottom-color", - "border-bottom-style", "border-bottom-width", "border-collapse", - "border-color", "border-left", "border-left-color", - "border-left-style", "border-left-width", "border-right", - "border-right-color", "border-right-style", "border-right-width", - "border-spacing", "border-style", "border-top", "border-top-color", - "border-top-style", "border-top-width", "border-width", "bottom", - "caption-side", "clear", "clip", "color", "content", - "counter-increment", "counter-reset", "cursor", "direction", "display", - "empty-cells", "float", "font", "font-family", "font-size", - "font-style", "font-variant", "font-weight", "height", "left", - "letter-spacing", "line-height", "list-style", "list-style-image", - "list-style-position", "list-style-type", "margin", "margin-bottom", - "margin-left", "margin-right", "margin-top", "max-height", "max-width", - "min-height", "min-width", "opacity", "orphans", "outline", - "outline-color", "outline-style", "outline-width", "overflow", - "padding", "padding-bottom", "padding-left", "padding-right", - "padding-top", "page-break-after", "page-break-before", - "page-break-inside", "quotes", "right", "table-layout", - "text-align", "text-decoration", "text-indent", "text-transform", - "top", "unicode-bidi", "vertical-align", "visibility", "white-space", - "widows", "width", "word-spacing", "z-index" }; + "background", + "background-attachment", + "background-clip", + "background-color", + "background-image", + "background-origin", + "background-position", + "background-repeat", + "background-size", + "border", + "border-bottom", + "border-bottom-color", + "border-bottom-left-radius", + "border-bottom-right-radius", + "border-bottom-style", + "border-bottom-width", + "border-collapse", + "border-color", + "border-image", + "border-image-outset", + "border-image-repeat", + "border-image-slice", + "border-image-source", + "border-image-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-spacing", + "border-style", + "border-top", + "border-top-color", + "border-top-left-radius", + "border-top-right-radius", + "border-top-style", + "border-top-width", + "border-width", + "bottom", + "caption-side", + "clear", + "clip", + "color", + "content", + "counter-increment", + "counter-reset", + "cursor", + "direction", + "display", + "empty-cells", + "float", + "font", + "font-family", + "font-feature-settings", + "font-kerning", + "font-language-override", + "font-size", + "font-size-adjust", + "font-stretch", + "font-style", + "font-synthesis", + "font-variant", + "font-variant-alternates", + "font-variant-caps", + "font-variant-east-asian", + "font-variant-ligatures", + "font-variant-numeric", + "font-variant-position", + "font-weight", + "height", + "left", + "letter-spacing", + "line-height", + "list-style", + "list-style-image", + "list-style-position", + "list-style-type", + "margin", + "margin-bottom", + "margin-left", + "margin-right", + "margin-top", + "max-height", + "max-width", + "min-height", + "min-width", + "opacity", + "orphans", + "outline", + "outline-color", + "outline-offset", + "outline-style", + "outline-width", + "overflow", + "overflow-wrap", + "overflow-x", + "overflow-y", + "padding", + "padding-bottom", + "padding-left", + "padding-right", + "padding-top", + "page-break-after", + "page-break-before", + "page-break-inside", + "quotes", + "right", + "table-layout", + "text-align", + "text-decoration", + "text-decoration-color", + "text-decoration-line", + "text-decoration-skip", + "text-decoration-style", + "text-indent", + "text-transform", + "top", + "unicode-bidi", + "vertical-align", + "visibility", + "white-space", + "widows", + "width", + "word-spacing", + "z-index" + }; private Regex _disallowedCssPropertyValue;