Plone security fix of 2026-11-10: a chain of missing security declarations and opened modules lets an anonymous visitor run code on the server in every supported Plone version and back to 4.3; a working proof of concept exists, no CVE ids yet, no exploitation reported
Plone anonymous RCE chain: update or install the 20261110 hotfix, block portal_modifier, check modifier conditions
Defender actions
- On every Plone site, update to CMFPlone 6.2.3, 6.1.6 or 6.0.16 with the helper packages the Plone team lists, or install Products.PloneHotfix20261110 on any version from 4.3 to 6.2, restart all Zope instances, keep blocking URLs that contain portal_modifier at the front web server, and then check the modifier conditions with @@check-modifier-conditions or the hotfix's startup warning, because an anonymous request can already have stored a malicious condition that survives the fix.
Analysis
The Plone and Zope security team says the fixes it released on 2026-11-10 close a chain of several issues that together let an anonymous visitor run code on the server, in all supported Plone versions (6.0, 6.1 and 6.2) and in older ones back to at least 4.3 (Plone Security Team, 2026-11-10). The anonymous entry point is Products.CMFEditions: the conditional modifiers in portal_modifier had no security declarations, so an anonymous visitor could change a modifier's TALES condition and then run it, and the condition is also evaluated when an editor saves versioned content (Plone Security Team, 2026-11-10). Products.CMFPlone, Products.MimetypesRegistry and plone.batching opened whole modules to restricted code, which let TALES expressions and Python scripts escape the sandbox and reach modules such as os, and plone.restapi opened the json module (Plone Security Team, 2026-11-10). The CMFEditions advisory rates its flaw 9.8 with no privileges required and states that a working proof of concept exists; the team says details are public and that with current AI tools it may not take long to turn them into a working exploit, and no source reports exploitation (Plone, 2026-11-10; Plone Security Team, 2026-11-10).
The fixed packages are CMFPlone 6.2.3, 6.1.6 and 6.0.16 with the helper package versions the announcement lists, or the hotfix Products.PloneHotfix20261110, which covers Plone 4.3 to 6.2, and all Zope instances must be restarted afterwards (Plone Security Team, 2026-11-10). The team's pre-announcement of 2026-11-02 already gave the workaround, to block any URL containing portal_modifier at the web server at any path depth, which only helps if Zope's own port cannot be reached directly; the team advises keeping it after updating (Plone Security Team, 2026-11-02). After the fix, restricted code can import only the names Plone itself needs from the closed modules, so custom scripts that import others now get an Unauthorized error (Plone Security Team, 2026-11-10).
Cited evidence
It is a chain of several issues, which together let an anonymous visitor run code on the server.
A working proof of concept exists.
A changed modifier condition stays in the database, also after you install the fix.
Sources3
AI-generated · no human review · this permalink is the shareable record for the finding · verify operationally critical claims against the linked primary source.