[Openstack-security] [Bug 1367022] Re: Un-sanitized eval may have security impact
Brant Knudson
bknudson at us.ibm.com
Mon Sep 22 19:12:59 UTC 2014
The place that's mentioned here is
return ((eval(scale, {}, ns) if isinstance(scale, six.string_types) ...
but since the globals doesn't mask __builtins__ you can do something
like '__import__("os")' and then do whatever.
I'll propose a change to mask __builtins__ as a security hardening.
--
You received this bug notification because you are a member of OpenStack
Security Group, which is subscribed to OpenStack.
https://bugs.launchpad.net/bugs/1367022
Title:
Un-sanitized eval may have security impact
Status in OpenStack Telemetry (Ceilometer):
New
Status in OpenStack Security Advisories:
Won't Fix
Bug description:
On this line:
https://github.com/openstack/ceilometer/blob/master/ceilometer/transformer/conversions.py#L62
eval is used for some transformation. The comments near by suggest
that it is used for a 'multiplicative factor or else a string to be
eval'd'.
If an attacker is able to provide an input like
"__import__('os').system('rm -rf /etc')" the process will delete the
etc directory with the privileges of the user that is running
Ceilometer.
Eval input should always be sanitized. I was unable to find any
places that this is actually used, but this should definitely be
hardened.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ceilometer/+bug/1367022/+subscriptions
More information about the Openstack-security
mailing list