Index: src/wp-admin/includes/file.php
===================================================================
--- src/wp-admin/includes/file.php	(revision 25302)
+++ src/wp-admin/includes/file.php	(working copy)
@@ -485,6 +485,15 @@
 		return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
 	}
 
+	$content_md5 = wp_remote_retrieve_header( $response, 'content-md5' );
+	if ( $content_md5 ) {
+		$md5_file = md5_file( $tmpfname );
+		if ( $md5_file != $content_md5 ) {
+			unlink( $tmpfname );
+			return new WP_Error( 'download_verification_failed', sprintf( __( 'The checksum of the download (%1$s) does not match the provided checksum value (%2$s).' ), $md5_file, $content_md5 ) );
+		}
+	}
+
 	return $tmpfname;
 }
 
