Revert "fix(core): CSS sanitizer now allows parens in file names (#30322)" (#30463)

This reverts commit 728db88280.

We're reverting this commit for now, until it can be subjected to a more
thorough security review.

PR Close #30463
This commit is contained in:
Alex Rickabaugh 2019-05-14 14:06:01 -07:00
parent 9e5377a2e3
commit dbb150a9bd
2 changed files with 2 additions and 3 deletions

View File

@ -54,7 +54,7 @@ const SAFE_STYLE_VALUE = new RegExp(
* Given the common use case, low likelihood of attack vector, and low impact of an attack, this * Given the common use case, low likelihood of attack vector, and low impact of an attack, this
* code is permissive and allows URLs that sanitize otherwise. * code is permissive and allows URLs that sanitize otherwise.
*/ */
const URL_RE = /^url\(([\w\W]*)\)$/; const URL_RE = /^url\(([^)]+)\)$/;
/** /**
* Checks that quotes (" and ') are properly balanced inside a string. Assumes * Checks that quotes (" and ') are properly balanced inside a string. Assumes

View File

@ -32,7 +32,7 @@ import {_sanitizeStyle} from '../../src/sanitization/style_sanitizer';
expectSanitize('rgb(255, 0, 0)').toEqual('rgb(255, 0, 0)'); expectSanitize('rgb(255, 0, 0)').toEqual('rgb(255, 0, 0)');
expectSanitize('expression(haha)').toEqual('unsafe'); expectSanitize('expression(haha)').toEqual('unsafe');
}); });
t.it('rejects unbalanced quotes', () => { expectSanitize('"value" "').toEqual('unsafe'); }); t.it('rejects unblanaced quotes', () => { expectSanitize('"value" "').toEqual('unsafe'); });
t.it('accepts transform functions', () => { t.it('accepts transform functions', () => {
expectSanitize('rotate(90deg)').toEqual('rotate(90deg)'); expectSanitize('rotate(90deg)').toEqual('rotate(90deg)');
expectSanitize('rotate(javascript:evil())').toEqual('unsafe'); expectSanitize('rotate(javascript:evil())').toEqual('unsafe');
@ -58,7 +58,6 @@ import {_sanitizeStyle} from '../../src/sanitization/style_sanitizer';
t.it('accepts quoted URLs', () => { t.it('accepts quoted URLs', () => {
expectSanitize('url("foo/bar.png")').toEqual('url("foo/bar.png")'); expectSanitize('url("foo/bar.png")').toEqual('url("foo/bar.png")');
expectSanitize(`url('foo/bar.png')`).toEqual(`url('foo/bar.png')`); expectSanitize(`url('foo/bar.png')`).toEqual(`url('foo/bar.png')`);
expectSanitize(`url('foo/bar (1).png')`).toEqual(`url('foo/bar (1).png')`);
expectSanitize(`url( 'foo/bar.png'\n )`).toEqual(`url( 'foo/bar.png'\n )`); expectSanitize(`url( 'foo/bar.png'\n )`).toEqual(`url( 'foo/bar.png'\n )`);
expectSanitize('url("javascript:evil()")').toEqual('unsafe'); expectSanitize('url("javascript:evil()")').toEqual('unsafe');
expectSanitize('url( " javascript:evil() " )').toEqual('unsafe'); expectSanitize('url( " javascript:evil() " )').toEqual('unsafe');