Make WordPress Core

Changeset 34134


Ignore:
Timestamp:
09/14/2015 10:35:22 PM (9 years ago)
Author:
nbachiyski
Message:

Shortcodes: don't allow unclosed HTML elements in attributes

Location:
trunk/src/wp-includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/media.php

    r33954 r34134  
    871871            $attr['caption'] = trim( $matches[2] );
    872872        }
     873    } elseif ( strpos( $attr['caption'], '<' ) !== false ) {
     874        $attr['caption'] = wp_kses( $attr['caption'], 'post' );
    873875    }
    874876
  • trunk/src/wp-includes/shortcodes.php

    r33734 r34134  
    463463                $atts[] = stripcslashes($m[8]);
    464464        }
     465
     466        // Reject any unclosed HTML elements
     467        foreach( $atts as &$value ) {
     468            if ( false !== strpos( $value, '<' ) ) {
     469                if ( 1 !== preg_match( '/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value ) ) {
     470                    $value = '';
     471                }
     472            }
     473        }
    465474    } else {
    466475        $atts = ltrim($text);
Note: See TracChangeset for help on using the changeset viewer.