各种Plone热补丁,2016-08-30
项目描述
Plone热补丁,2016-08-30
此热补丁修复了多个安全问题
攻击者可以绕过Plone的安全方法来检查URL是否为合法、安全的URL,这可能导致对某些页面的XSS攻击。
在多个地方,Plone盲目使用< cite> referer cite>标头在特定操作后将用户重定向到下一页。攻击者可以利用这一点来将用户引诱到重定向攻击。
z3c.form目前会在表单应为POST时接受GET请求的数据。这允许用户将潜在XSS攻击注入到表单中,保存后会导致XSS攻击。此外,在Plone管理表单的某些小部件中,输入预期为安全,可能引起反射性XSS攻击。
修复用户信息页面上的XSS
修复多个ZMI页面上的XSS
通过使用相对路径和在Plone安装的服务器上的位置猜测,攻击者可以读取Plone运行进程有权限读取的目标服务器上的数据。攻击者需要在Plone网站上拥有管理员权限才能执行此攻击。
应将此热补丁应用于以下版本的Plone
Plone 5.0.6和任何更早的5.x版本
Plone 4.3.11和任何更早的4.x版本
任何旧版本的Plone
此补丁由Plone安全团队在以下Plone版本中官方支持,遵循Plone 版本支持策略:4.0.10,4.1.6,4.2.7,4.3.11和5.0.6。然而,它也已在较旧版本的Plone上进行了一些测试。这里包含的修复将纳入Plone的后续版本,因此Plone 4.3.12,5.0.7及以上版本不需要此补丁。
安装
应用补丁
并非所有补丁都需要应用于所有Plone版本。
如果您使用的是plone.protect 3之前的版本,则“confirm”补丁是不必要的,也无法成功应用。这适用于任何未安装plone4.csrffixes的Plone 4网站。
在默认安装的Plone 4.x中,“user”补丁无法成功应用且不需要修复。只有在安装了plone.app.users 2以上的版本时,该补丁才会应用。
在默认安装的Plone 4.1.x或更低的版本中,“resource”补丁无法成功应用且不需要修复。只有在安装了plone.resource时,该补丁才会应用。
在默认安装的Plone 4.0.x或更低的版本中,“discussion”补丁无法成功应用且不需要修复。只有在安装了plone.app.discussion时,该补丁才会应用。
在默认安装的Plone 3或更低的版本中,“plonerootlogin”补丁无法成功应用且不需要修复。只有在Plone 4及以上版本中,该补丁才会应用。
在默认安装的Plone 3或更低的版本中,“z3c_form”补丁无法成功应用且不需要修复。只有在安装了z3c.form时,该补丁才会应用。
重定向到外部站点
对于任何使用redirect_to操作的控制器页面模板或脚本,现在将检查URL。如果URL不在当前门户中,且域名不在“allow_external_login_sites”属性中,则Plone拒绝重定向到该URL,而改为重定向到当前页面。
这可能会影响您的一个例子是,如果您使用外部站点登录(例如openid,Facebook,Google),或者当Plone站点本身被设置为其他站点的openid提供者时。在这种情况下或类似情况下,您需要更新“allow_external_login_sites”属性。
在Plone 5中,这可以在配置注册表中完成:/portal_registry/edit/plone.allow_external_login_sites
在Plone 4及以下版本中,这只能在Zope管理界面中完成:portal_properties/site_properties/manage_propertiesForm。
如果您有自己的控制器页面模板或脚本,并希望在不编辑此属性的情况下允许重定向到外部站点,您可以编辑此模板或脚本的.metadata文件,并将redirect_to更改为external_redirect_to。这允许内部和外部重定向。此操作已在此补丁中添加,并将添加到未来版本的Products.CMFFormController。
z3c.form和预填充数据
使用此补丁,我们只在请求方法与表单方法匹配时使用请求中的数据。默认情况下,所有表单都针对POST请求,在这些请求中,我们不再允许从GET请求中预填充数据。反过来也是如此,我们不会在预期GET请求的表单中填充来自POST请求的数据,但这可能很少发生。
如果您有一个不需要这种保护的表单,您可以在表单上添加一个属性 allow_prefill_from_GET_request 并将其设置为 True 值。如果您愿意,可以从 Products.PloneHotfix20160830.z3c_form.ALLOW_PREFILL 导入这个属性名称。这个属性可能会被移植到 z3c.form 包。
该属性是在热补丁的版本 1.3 中引入的。
问答
- 问:如何确认热补丁已正确安装并且我的网站受到保护?
答:在启动时,热补丁会将一些类似于以下内容的消息记录到 Zope 事件日志中
2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied resource patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied confirm patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied z3c_form patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied in_portal patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied plonerootlogin patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied redirects patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied redirect_folderfactories patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied redirect_qi patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied redirectto patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied discussion patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied user patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Applied zmi patch 2016-08-30 08:46:09 INFO Products.PloneHotfix20160830 Hotfix installed
应用的补丁的确切数量将根据您使用的包而有所不同。如果尝试应用补丁但失败,它将记录一条警告消息,表示“无法应用”。这可能表明您有一个非标准化的 Plone 安装。
- 问:如何报告安装补丁时的问题?
答:请联系 Plone 安全团队 security@plone.org,或访问 freenode IRC 上的 #plone 频道。
- 问:如何报告其他潜在的安全漏洞?
答:请通过电子邮件将安全团队 security@plone.org 报告潜在的安全问题,而不是公开讨论这些问题。
变更日志
1.3 (2016-09-08)
添加了 allow_prefill_from_GET_request 属性检查。使用此热补丁,我们仅在请求方法与表单方法匹配时使用请求中的数据。如果您有一个不需要这种保护的 z3c.form,您可以在表单上添加一个属性 allow_prefill_from_GET_request 并将其设置为 True 值。如果您愿意,可以从 Products.PloneHotfix20160830.z3c_form.ALLOW_PREFILL 导入这个属性名称。只有当您有需要此功能的表单时,才需要更新到这个版本的热补丁。
1.2 (2016-09-06)
修复了 plone.app.discussion 补丁,使其仍能在 2.3.3 版本以下的版本中删除评论。
1.1 (2016-09-01)
修复了 Plone 3 的 z3c.form 补丁。默认情况下,Plone 3 不使用 z3c.form。如果您有一个使用它的附加组件,您应该升级,否则在显示此类表单时会出现错误。Plone 4 及更高版本可以很好地与补丁的先前版本协同工作。
更新了 plone.app.users 补丁,使其适用于 Plone 4.x,尽管它没有漏洞。在标准 Plone 4 中,没有必要升级到这个版本。如果您有修改 UserDataPanel 的自定义代码,可能需要此更新。有一个简单的检查:如果您在 Plone 4 的管理员用户身份下访问 @@user-information?userid=non-existing-user 并出现错误,那么您是安全的。
1.0 (2016-08-30)
首次发布
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码发行版
Products.PloneHotfix20160830-1.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5546a040ba6bab1d4ea6203a7412fd9913f5566b21112ff7fe57a887ccd01bf6 |
|
MD5 | 9545f94e76f12fab56ce787e342ab2e3 |
|
BLAKE2b-256 | cac409b258b8f4fc6949782a37687c5dc041569784537efad25026996ea78aac |