Make WordPress Core


Ignore:
Timestamp:
08/27/2025 10:32:57 AM (8 months ago)
Author:
jonsurrell
Message:

Scripts: Use appropriate JSON encoding flags for script tags.

wp_json_encode() with default arguments is insufficient to safely escape JSON for script tags. Use JSON_HEX_TAG | JSON_UNESCAPED_SLASHES flags.

Developed in https://github.com/WordPress/wordpress-develop/pull/9557.

Props devasheeshkaul, jonsurrell, siliconforks.
Fixes #63851.

File:
1 edited

Legend:

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

    r60449 r60681  
    275275    <script type="text/javascript">
    276276    var win = window.dialogArguments || opener || parent || top;
    277     win.send_to_editor( <?php echo wp_json_encode( $html ); ?> );
     277    win.send_to_editor( <?php echo wp_json_encode( $html, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ); ?> );
    278278    </script>
    279279    <?php
     
    22372237    ?>
    22382238    var resize_height = <?php echo $large_size_h; ?>, resize_width = <?php echo $large_size_w; ?>,
    2239     wpUploaderInit = <?php echo wp_json_encode( $plupload_init ); ?>;
     2239    wpUploaderInit = <?php echo wp_json_encode( $plupload_init, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ); ?>;
    22402240    </script>
    22412241
Note: See TracChangeset for help on using the changeset viewer.