Activity log for bug #1447871

Date Who What changed Old value New value Message
2015-04-24 02:03:29 Tristan Cacqueray bug added bug
2015-04-24 02:05:50 Tristan Cacqueray bug task added ossa
2015-04-24 02:05:55 Tristan Cacqueray ossa: status New Incomplete
2015-04-24 02:06:22 Tristan Cacqueray bug added subscriber Nikhil Manchanda
2015-04-28 12:33:19 Tristan Cacqueray cve linked 2015-3156
2015-04-28 12:33:34 Tristan Cacqueray summary Several insecure /tmp usage in guestagent Several insecure /tmp usage in guestagent (CVE-2015-3156)
2015-05-28 18:02:18 Tristan Cacqueray bug added subscriber Trove Core Security Team
2015-06-01 14:46:13 Tristan Cacqueray ossa: status Incomplete Won't Fix
2015-06-01 14:46:21 Tristan Cacqueray information type Private Security Public
2015-11-13 21:12:11 Amrith Kumar trove: assignee Amrith (amrith)
2017-09-28 03:00:08 Amrith Kumar trove: assignee Amrith Kumar (amrith)
2019-08-29 19:55:50 Jeremy Stanley description This issue is being treated as a potential security risk under embargo. Please do not make any public mention of embargoed (private) security vulnerabilities before their coordinated publication by the OpenStack Vulnerability Management Team in the form of an official OpenStack Security Advisory. This includes discussion of the bug or associated fixes in public forums such as mailing lists, code review systems and bug trackers. Please also avoid private disclosure to other individuals not already approved for access to this information, and provide this same reminder to those who are made aware of the issue prior to publication. All discussion should remain confined to this private bug report, and any proposed fixes should be added as to the bug as attachments. Reported via private E-mail from Michael Scherer - There is several instance of using a fixed name without verification for updating/resetting the configuration : Mongodb: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/system.py#L26 Postgresql: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/postgresql/service/config.py#L70 Redis: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L30 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236 Mysql: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L50 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790 Not that there is others occurrence of this pattern in the mysql part. All of them are therefor vulnerable to someone injecting configuration, which could result in a privilege escalation. - Cassandra use a /tmp file to run a command, without checking anything. So this is vulnerable to a race condition and command injection by any local user to access the cassandra store. https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/system.py#L33 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230 - Couchbase also dump to a file in /tmp/ with a predictable name ( so usual overwrite attack, etc, etc ) https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30 - Mysql dump/restore modules also use a file in /tmp/ with a predictable and not verified name for logs : https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194 https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55 https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110 Reported via private E-mail from Michael Scherer - There is several instance of using a fixed name without verification for updating/resetting the configuration : Mongodb: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/system.py#L26 Postgresql: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/postgresql/service/config.py#L70 Redis: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L30 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236 Mysql: https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L50 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790 Not that there is others occurrence of this pattern in the mysql part. All of them are therefor vulnerable to someone injecting configuration, which could result in a privilege escalation. - Cassandra use a /tmp file to run a command, without checking anything. So this is vulnerable to a race condition and command injection by any local user to access the cassandra store. https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/system.py#L33 https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230 - Couchbase also dump to a file in /tmp/ with a predictable name ( so usual overwrite attack, etc, etc ) https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30 - Mysql dump/restore modules also use a file in /tmp/ with a predictable and not verified name for logs : https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194 https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55 https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110