--- a/wp-includes/widgets.php
+++ b/wp-includes/widgets.php
@@ function wp_widget_rss_output( $rss, $args = array() ) {
-       $desc = html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );
-       $desc = esc_attr( wp_trim_words( $desc, 55, ' [&hellip;]' ) );
+       // Decode HTML entities first.
+       $desc = html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );
+
+       // Remove any HTML tags or leftover entities for clean widget output.
+       $desc = wp_strip_all_tags( $desc );
+
+       // Trim description to 55 words and prepare for display.
+       $desc = esc_html( wp_trim_words( $desc, 55, ' [&hellip;]' ) );
