SECURITY: blacklist CSS var()
authorMax Semenik <maxsem.wiki@gmail.com>
Wed, 7 Nov 2018 02:38:22 +0000 (18:38 -0800)
committerReedy <reedy@wikimedia.org>
Thu, 6 Jun 2019 16:15:55 +0000 (16:15 +0000)
Bug: T208881
Change-Id: I9a4ced2bc47eb5f96cf35e693bf5261c48acb126

includes/parser/Sanitizer.php
tests/phpunit/includes/parser/SanitizerTest.php

index abf0714..f76e3a9 100644 (file)
@@ -1073,6 +1073,7 @@ class Sanitizer {
                                | image\s*\(
                                | image-set\s*\(
                                | attr\s*\([^)]+[\s,]+url
+                               | var\s*\(
                        !ix', $value ) ) {
                        return '/* insecure input */';
                }
index 1f6f4e8..1b67bbd 100644 (file)
@@ -326,6 +326,7 @@ class SanitizerTest extends MediaWikiTestCase {
                        ],
                        [ '/* insecure input */', 'foo: attr( title, url );' ],
                        [ '/* insecure input */', 'foo: attr( title url );' ],
+                       [ '/* insecure input */', 'foo: var(--evil-attribute)' ],
                ];
        }