diff --git src/wp-includes/widgets/class-wp-widget-rss.php src/wp-includes/widgets/class-wp-widget-rss.php
index 570e7bba43..b47968d1d2 100644
--- src/wp-includes/widgets/class-wp-widget-rss.php
+++ src/wp-includes/widgets/class-wp-widget-rss.php
@@ -37,6 +37,8 @@ class WP_Widget_RSS extends WP_Widget {
 	 * Outputs the content for the current RSS widget instance.
 	 *
 	 * @since 2.8.0
+	 * @since 5.3.0 Do not display the widget to non-admin users if there are 
+	 * 				no RSS items fetched.
 	 *
 	 * @param array $args     Display arguments including 'before_title', 'after_title',
 	 *                        'before_widget', and 'after_widget'.
@@ -66,6 +68,11 @@ class WP_Widget_RSS extends WP_Widget {
 		$desc  = '';
 		$link  = '';
 
+		// Do not display the widget to non-admin users if there are no RSS feed items fetched.
+		if ( ! current_user_can( 'edit_theme_options' ) && ( is_wp_error( $rss ) || $rss->get_item_quantity() <= 0 ) ) {
+			return;
+		}
+
 		if ( ! is_wp_error( $rss ) ) {
 			$desc = esc_attr( strip_tags( html_entity_decode( $rss->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) ) ) );
 			if ( empty( $title ) ) {
@@ -76,7 +83,7 @@ class WP_Widget_RSS extends WP_Widget {
 				$link = substr( $link, 1 );
 			}
 		}
-
+		
 		if ( empty( $title ) ) {
 			$title = ! empty( $desc ) ? $desc : __( 'Unknown Feed' );
 		}
