SECURITY: jquery.makeCollapsible: Escape user-generated CSS selectors
authorBartosz Dziewoński <matma.rex@gmail.com>
Mon, 2 Mar 2020 16:08:15 +0000 (17:08 +0100)
committerReedy <reedy@wikimedia.org>
Thu, 26 Mar 2020 14:02:20 +0000 (14:02 +0000)
Bug: T246602
Change-Id: Iea64a258499ab597b9a8900418a42162fdb5f391

resources/src/jquery/jquery.makeCollapsible.js

index de307a6..32a5d3d 100644 (file)
                        } else {
                                collapsibleId = $collapsible.attr( 'id' ) || '';
                                if ( collapsibleId.indexOf( 'mw-customcollapsible-' ) === 0 ) {
+                                       collapsibleId = $.escapeSelector( collapsibleId );
                                        $customTogglers = $( '.' + collapsibleId.replace( 'mw-customcollapsible', 'mw-customtoggle' ) )
                                                .addClass( 'mw-customtoggle' );
                                }