The use of Python's marshal module to handle unchecked input in a public method on PortalFolder objects can lead to an unauthenticated denial of service and crash situation. The code in question is exposed by all portal software built on top of Products.CMFCore, such as Plone. All deployments are vulnerable.
The code has been fixed in Products.CMFCore version 3.2.
Users can make the affected decodeFolderFilter method unreachable by editing the PortalFolder.py module in Products.CMFCore by hand and then restarting Zope. Go to line 233 of PortalFolder.py and remove both the @security.public decorator for decodeFolderFilter as well as the method's entire docstring. This is safe because the method is not actually used by current code.
Thanks go to Nicolas VERDIER from onepoint.
If you have any questions or comments about this advisory:
{
"severity": "HIGH",
"nvd_published_at": "2023-07-03T17:15:09Z",
"github_reviewed_at": "2023-07-05T22:42:09Z",
"github_reviewed": true,
"cwe_ids": [
"CWE-770"
]
}