OSSN/OSSN-0080
Aodh 可能被用于滥用 Keystone 信任关系
总结
当添加具有 `trust+http:` 方案的告警动作时,Aodh 不会验证创建告警的用户是否为信任人或具有与信任人相同的权限,也不会验证信任关系是否与告警位于同一项目下。
受影响的服务 / 软件
Aodh 是 Telemetry 项目的告警引擎。
Pike, Ocata 和 Newton
讨论
当添加具有 `trust+http:` 方案的告警动作时,Aodh 允许用户提供信任 ID 以获取用于发出 webhook 请求的令牌。(如果未提供信任 ID,则 Aodh 会在内部创建信任关系,此时问题不存在。)但是,Aodh 不会尝试验证创建告警的用户是否为信任人或具有与信任人相同的权限 - 它也不会尝试检查信任关系是否与告警位于同一项目下。
`trust+http:` 告警通知器的本质是,它允许用户在 Aodh 作为受托方的信任关系中,根据信任 ID 获取令牌,因为 URL 是任意的,不限于 Keystone 目录中的服务。
建议的操作
已附加一个补丁文件到下面的 Launchpad 链接。它将阻止使用包含信任 ID 的信任 URL,并记录错误消息“trust URL cannot contain a trust ID.”。任何没有信任 ID 的信任动作将导致 Aodh 像以前一样在内部创建信任 ID。
您还需要重启用于 Aodh API 的 Web 服务器。这通常是 apache。在较旧版本中使用 eventlet 的情况下,对于 centos/RHEL/Suse,需要重启 openstack-aodh-api,对于 ubuntu,需要重启 aodh-api。
该修复程序也已合并到 master (Pike)、Ocata 和 Newton 分支。
联系方式 / 参考文献
发现者:Zane Bitter, Red Hat
作者:Luke Hinds, Red Hat
此 OSSN:https://wiki.openstack.org/wiki/OSSN/OSSN-0080
CVE:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12440
原始 LaunchPad Bug:https://bugs.launchpad.net/ossn/+bug/1649333
OpenStack 安全项目:https://launchpad.net/~openstack-ossg