Make WordPress Core


Ignore:
Timestamp:
09/04/2019 06:35:43 PM (5 years ago)
Author:
desrosj
Message:

Fix for URL sanitization in wp_kses_bad_protocol_once().

Merges [45997] to the 4.0 branch.

Props irsdl, sstoqnov, whyisjake.

Location:
branches/4.0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/4.0

  • branches/4.0/tests/phpunit/tests/kses.php

    r33381 r46015  
    138138            'feed:javascript:alert(1)',
    139139            'feed:javascript:feed:javascript:feed:javascript:alert(1)',
     140            'javascript&#58alert(1)',
     141            'javascript&#x3ax=1;alert(1)',
    140142        );
    141143        foreach ( $bad as $k => $x ) {
     
    147149                        $this->assertEquals( str_replace( '&', '&', $x ), $result );
    148150                        break;
    149                     case 22: $this->assertEquals( 'javascript&#0000058alert(1);', $result ); break;
    150                     case 23: $this->assertEquals( 'javascript&#0000058alert(1)//?:', $result ); break;
    151                     case 24: $this->assertEquals( 'feed:alert(1)', $result ); break;
    152                     default: $this->fail( "wp_kses_bad_protocol failed on $x. Result: $result" );
     151                    case 22:
     152                        $this->assertEquals( 'javascript&#0000058alert(1);', $result );
     153                        break;
     154                    case 23:
     155                        $this->assertEquals( 'javascript&#0000058alert(1)//?:', $result );
     156                        break;
     157                    case 24:
     158                        $this->assertEquals( 'feed:alert(1)', $result );
     159                        break;
     160                    case 26:
     161                        $this->assertEquals( 'javascript&#58alert(1)', $result );
     162                        break;
     163                    case 27:
     164                        $this->assertEquals( 'javascript&#x3ax=1;alert(1)', $result );
     165                        break;
     166                    default:
     167                        $this->fail( "wp_kses_bad_protocol failed on $k, $x. Result: $result" );
    153168                }
    154169            }
Note: See TracChangeset for help on using the changeset viewer.