function wp_ajax_search_install_plugins() {
	check_ajax_referer( 'updates' );

	global $wp_list_table, $hook_suffix;
	$hook_suffix = 'plugin-install.php';

	/** @var WP_Plugin_Install_List_Table $wp_list_table */
	$wp_list_table = _get_list_table( 'WP_Plugin_Install_List_Table' );
	$status        = array();

	if ( ! $wp_list_table->ajax_user_can() ) {
		$status['errorMessage'] = __( 'You do not have sufficient permissions to manage plugins on this site.' );
		wp_send_json_error( $status );
	}

	// Set the correct requester, so pagination works.
	$_SERVER['REQUEST_URI'] = add_query_arg( array_diff_key( $_POST, array(
		'_ajax_nonce' => null,
		'action'      => null,
	) ), network_admin_url( 'plugin-install.php', 'relative' ) );

	$wp_list_table->prepare_items();

	ob_start();
	$wp_list_table->display();
	$status['items'] = ob_get_clean();

	wp_send_json_success( $status );
}
The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.