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:30:47 +0000 (17:30 +0100)
Bug: T208881
Change-Id: I9a4ced2bc47eb5f96cf35e693bf5261c48acb126

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

index b13e597..0b3a07b 100644 (file)
@@ -1054,6 +1054,7 @@ class Sanitizer {
                                | image\s*\(
                                | image-set\s*\(
                                | attr\s*\([^)]+[\s,]+url
+                               | var\s*\(
                        !ix', $value ) ) {
                        return '/* insecure input */';
                }
index 6590338..35b81fb 100644 (file)
@@ -322,6 +322,7 @@ class SanitizerTest extends MediaWikiTestCase {
                        ],
                        [ '/* insecure input */', 'foo: attr( title, url );' ],
                        [ '/* insecure input */', 'foo: attr( title url );' ],
+                       [ '/* insecure input */', 'foo: var(--evil-attribute)' ],
                ];
        }