From 51be1d635c79fddfa44cc124147ff41c16d066f3 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Wed, 4 Sep 2019 16:38:22 +0000 Subject: [PATCH] Escape the output in `wp_ajax_upload_attachment()`. Merges [45936] to the 4.4 branch. Props whyisjake, sstoqnov. Built from https://develop.svn.wordpress.org/branches/4.4@45951 git-svn-id: http://core.svn.wordpress.org/branches/4.4@45762 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/async-upload.php | 2 +- wp-admin/includes/ajax-actions.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/wp-admin/async-upload.php b/wp-admin/async-upload.php index 371a65d305..accbe3d41e 100644 --- a/wp-admin/async-upload.php +++ b/wp-admin/async-upload.php @@ -32,7 +32,7 @@ if ( ! ( isset( $_REQUEST['action'] ) && 'upload-attachment' == $_REQUEST['actio require_once( ABSPATH . 'wp-admin/admin.php' ); -header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); +header( 'Content-Type: text/plain; charset=' . get_option( 'blog_charset' ) ); if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) { include( ABSPATH . 'wp-admin/includes/ajax-actions.php' ); diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php index a10408b1fd..5f2c318ec2 100644 --- a/wp-admin/includes/ajax-actions.php +++ b/wp-admin/includes/ajax-actions.php @@ -1996,7 +1996,7 @@ function wp_ajax_upload_attachment() { 'success' => false, 'data' => array( 'message' => __( 'You do not have permission to upload files.' ), - 'filename' => $_FILES['async-upload']['name'], + 'filename' => esc_html( $_FILES['async-upload']['name'] ), ) ) ); @@ -2010,7 +2010,7 @@ function wp_ajax_upload_attachment() { 'success' => false, 'data' => array( 'message' => __( "You don't have permission to attach files to this post." ), - 'filename' => $_FILES['async-upload']['name'], + 'filename' => esc_html( $_FILES['async-upload']['name'] ), ) ) ); @@ -2034,7 +2034,7 @@ function wp_ajax_upload_attachment() { 'success' => false, 'data' => array( 'message' => __( 'The uploaded file is not a valid image. Please try again.' ), - 'filename' => $_FILES['async-upload']['name'], + 'filename' => esc_html( $_FILES['async-upload']['name'] ), ) ) ); @@ -2049,7 +2049,7 @@ function wp_ajax_upload_attachment() { 'success' => false, 'data' => array( 'message' => $attachment_id->get_error_message(), - 'filename' => $_FILES['async-upload']['name'], + 'filename' => esc_html( $_FILES['async-upload']['name'] ), ) ) );