OSSN-0080: Aodh can be used to launder Keystone trusts

Summary

When adding an alarm action with the scheme trust+http: Aodh does not verify that the user creating the alarm is the trustor or has the same rights as the trustor, nor that the trust is for the same project as the alarm.

Affected Services / Software

Aodh, the alarm engine of the Telemetry project. Pike, Ocata and Newton.

Discussion

When adding an alarm action with the scheme trust+http:, Aodh allows the user to provide a trust ID to acquire a token with which to make a webhook request. (If no trust ID is provided then Aodh creates a trust internally, in which case the issue is not present.) However, Aodh makes no attempt to verify that the user creating the alarm is the trustor or has the same rights as the trustor - it also does not attempt to check that the trust is for the same project as the alarm.

The nature of the trust+http: alarm notifier is that it allows the user to obtain a token given the ID of a trust for which Aodh is the trustee, since the URL is arbitrary and not limited to services in the Keystone catalog.

Contacts / References

Author: Luke Hinds, Red Hat