Description
plone.app.portlets provides portlets and a Plone-specific user interface for plone.portlets. Prior to 5.0.8, 6.0.4, and 7.0.2, a member who can add an RSS portlet can set its feed URL to a very large response, causing src/plone/app/portlets/portlets/rss.py to download and retain excessive data in memory and deny service. The same RSS URL handling accepts internal hosts, IP addresses, single-word domains, and explicit ports, allowing server-side requests that can probe internal network services and open ports. A malicious feed item can also supply a JavaScript URL that is retained as the item link and can execute script when used by a victim. The affected logic includes _rss_feed_url_validator, _normal_url_validator, RSSFeed._retrieveFeed, RSSFeed._buildItemDict, and the FEED_DATA in-memory cache. This issue is fixed in versions 5.0.8, 6.0.4, and 7.0.2.
References5
- github.com/plone/plone.app.portlets/commit/09da52ef7b297daa8e0c…
- github.com/plone/plone.app.portlets/commit/9f16b6fb10211916686c…
- github.com/plone/plone.app.portlets/commit/a3b2c2887165b308cd91…
- github.com/plone/plone.app.portlets/commit/df5e256baee55083cbd6…
- github.com/plone/plone.app.portlets/security/advisories/GHSA-x5…
Metrics
- CVSS 3.1
-
9.1
CRITICAL
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H - EPSS — exploit probability
- 0% percentile: 39 · as of 8 November 2026
- CWE
- CWE-400
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.