Plone hotfix, 2017-01-17
This hotfix fixes several security issues:
A reflected Cross Site Scripting attack (XSS) in the ZMI (manage_findResult). You may already be blocking access to manage pages in a web server like nginx or Apache. In that case, this part of the hotfix is fine, but is not relevant.
Accessing private content via str.format in through-the-web templates and scripts. See this blog post by Armin Ronacher for the general idea. Since the format method was introduced in Python 2.6, this part of the hotfix is only relevant for Plone 4 and 5, not Plone 3.
Compatibility
This hotfix should be applied to the following versions of Plone:
Plone 5.0.6 and any earlier 5.x version
Plone 4.3.11 and any earlier 4.x version
Any older version of Plone
The hotfix is officially supported by the Plone security team on the following versions of Plone in accordance with the Plone version support policy: 4.0.10, 4.1.6, 4.2.7, 4.3.11 and 5.0.6. However it has also received some testing on older versions of Plone. The fixes included here will be incorporated into subsequent releases of Plone, so Plone 4.3.12, 5.0.7 and greater should not require this hotfix.
Installation
Installation instructions can be found at https://plone.org/security/hotfix/20170117
Automated testing
If you have automated tests for your code and you want to run them in combination with this hotfix, to see if there any regressions, you should make sure the hotfix is included in your test setup. With plone.app.testing it should look something like this in your test layer fixture:
def setUpZope(self, app, configurationContext):
from plone.testing import z2
z2.installProduct(app, 'Products.PloneHotfix20170117')
With the old-style Products.PloneTestCase it should be like this:
from Testing import ZopeTestCase
ZopeTestCase.installProduct('PloneHotfix20170117', quiet=1)
Q&A
- Q: How can I confirm that the hotfix is installed correctly and my site is protected?
A: On startup, the hotfix will log a number of messages to the Zope event log that look like this:
2017-01-17 08:42:11 INFO Products.PloneHotfix20170117 Applied zmi patch 2017-01-17 08:42:11 INFO Products.PloneHotfix20170117 Hotfix installed
The exact number of patches applied, will differ depending on what packages you are using. If a patch is attempted but fails, it will be logged as a warning that says “Could not apply”. This may indicate that you have a non-standard Plone installation.
- Q: How can I report problems installing the patch?
A: Contact the Plone security team at security@plone.org, or visit the #plone channel on freenode IRC.
- Q: How can I report other potential security vulnerabilities?
A: Please email the security team at security@plone.org rather than discussing potential security issues publicly.
Changelog
1.0 (2017-01-17)
Initial release
Metadata
Release files for Products.PloneHotfix20170117 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| Products.PloneHotfix20170117-1.0.zip | 22.1 kB | Without provenance | Details |
Release files / Products.PloneHotfix20170117-1.0.zip
| Download URL | Products.PloneHotfix20170117-1.0.zip |
|---|---|
| Size | 22.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c4164c142ae185a01bb79634bdaacd08bd9e1f31036aeba4ea5c714ff0ced36
|
|
BLAKE2b-256 checksum How to use checksums |
96dd343f5c3bbf9d58ac7ee8ee3a3efc264e439fca924655f603ccf3713da345
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for Products.PloneHotfix20170117 1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.