{"api_version":"1","generated_at":"2026-04-23T09:36:54+00:00","cve":"CVE-2015-3156","urls":{"html":"https://cve.report/CVE-2015-3156","api":"https://cve.report/api/cve/CVE-2015-3156.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2015-3156","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2015-3156"},"summary":{"title":"CVE-2015-3156","description":"The _write_config function in trove/guestagent/datastore/experimental/mongodb/service.py, reset_configuration function in trove/guestagent/datastore/experimental/postgresql/service/config.py, write_config function in trove/guestagent/datastore/experimental/redis/service.py, _write_mycnf function in trove/guestagent/datastore/mysql/service.py, InnoBackupEx::_run_prepare function in trove/guestagent/strategies/restore/mysql_impl.py, InnoBackupEx::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, MySQLDump::cmd in trove/guestagent/strategies/backup/mysql_impl.py, InnoBackupExIncremental::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, _get_actual_db_status function in trove/guestagent/datastore/experimental/cassandra/system.py and trove/guestagent/datastore/experimental/cassandra/service.py, and multiple class CbBackup methods in trove/guestagent/strategies/backup/experimental/couchbase_impl.py in Openstack DBaaS (aka Trove) as packaged in Openstack before 2015.1.0 (aka Kilo) allows local users to write to configuration files via a symlink attack on a temporary file.","state":"PUBLIC","assigner":"secalert@redhat.com","published_at":"2017-08-11 21:29:00","updated_at":"2017-08-25 14:53:00"},"problem_types":["CWE-59"],"metrics":[],"references":[{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://bugs.launchpad.net/trove/+bug/1398195","name":"https://bugs.launchpad.net/trove/+bug/1398195","refsource":"MISC","tags":["Issue Tracking","Third Party Advisory","VDB Entry"],"title":"Bug #1398195 “Insecure temporary file usage in Cassandra datasto...” : Bugs : OpenStack DBaaS (Trove)","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790","refsource":"MISC","tags":["Third Party Advisory"],"title":"trove/service.py at master · openstack/trove · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L36","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L36","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1216073","name":"https://bugzilla.redhat.com/show_bug.cgi?id=1216073","refsource":"CONFIRM","tags":["Issue Tracking","Third Party Advisory","VDB Entry"],"title":"Bug 1216073 – CVE-2015-3156 openstack-trove: multiple insecure /tmp file usage issues","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30","refsource":"MISC","tags":["Third Party Advisory"],"title":"Page not found · GitHub · GitHub","mime":"text/html","httpstatus":"404","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2015-3156","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2015-3156","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2015","cve_id":"3156","vulnerable":"1","versionEndIncluding":"2014.2.4","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"openstack","cpe5":"trove","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"data_version":"4.0","data_type":"CVE","data_format":"MITRE","CVE_data_meta":{"ID":"CVE-2015-3156","ASSIGNER":"secalert@redhat.com","STATE":"PUBLIC"},"description":{"description_data":[{"lang":"eng","value":"The _write_config function in trove/guestagent/datastore/experimental/mongodb/service.py, reset_configuration function in trove/guestagent/datastore/experimental/postgresql/service/config.py, write_config function in trove/guestagent/datastore/experimental/redis/service.py, _write_mycnf function in trove/guestagent/datastore/mysql/service.py, InnoBackupEx::_run_prepare function in trove/guestagent/strategies/restore/mysql_impl.py, InnoBackupEx::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, MySQLDump::cmd in trove/guestagent/strategies/backup/mysql_impl.py, InnoBackupExIncremental::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, _get_actual_db_status function in trove/guestagent/datastore/experimental/cassandra/system.py and trove/guestagent/datastore/experimental/cassandra/service.py, and multiple class CbBackup methods in trove/guestagent/strategies/backup/experimental/couchbase_impl.py in Openstack DBaaS (aka Trove) as packaged in Openstack before 2015.1.0 (aka Kilo) allows local users to write to configuration files via a symlink attack on a temporary file."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"affects":{"vendor":{"vendor_data":[{"vendor_name":"n/a","product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_affected":"=","version_value":"n/a"}]}}]}}]}},"references":{"reference_data":[{"url":"https://bugs.launchpad.net/trove/+bug/1398195","refsource":"MISC","name":"https://bugs.launchpad.net/trove/+bug/1398195"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/cassandra/service.py#L230"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/mongodb/service.py#L176"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/experimental/redis/service.py#L236"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/datastore/mysql/service.py#L790"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/experimental/couchbase_impl.py#L30"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L110"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L36","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L36"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/backup/mysql_impl.py#L55"},{"url":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194","refsource":"MISC","name":"https://github.com/openstack/trove/blob/master/trove/guestagent/strategies/restore/mysql_impl.py#L194"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1216073","refsource":"MISC","name":"https://bugzilla.redhat.com/show_bug.cgi?id=1216073"}]}},"nvd":{"publishedDate":"2017-08-11 21:29:00","lastModifiedDate":"2017-08-25 14:53:00","problem_types":["CWE-59"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.0","vectorString":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":5.5,"baseSeverity":"MEDIUM"},"exploitabilityScore":1.8,"impactScore":3.6},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:L/AC:L/Au:N/C:N/I:P/A:N","accessVector":"LOCAL","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE","baseScore":2.1},"severity":"LOW","exploitabilityScore":3.9,"impactScore":2.9,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:openstack:trove:*:*:*:*:*:*:*:*","versionEndIncluding":"2014.2.4","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2015","CveId":"3156","Ordinal":"80109","Title":"CVE-2015-3156","CVE":"CVE-2015-3156","Year":"2015"},"notes":[{"CveYear":"2015","CveId":"3156","Ordinal":"1","NoteData":"The _write_config function in trove/guestagent/datastore/experimental/mongodb/service.py, reset_configuration function in trove/guestagent/datastore/experimental/postgresql/service/config.py, write_config function in trove/guestagent/datastore/experimental/redis/service.py, _write_mycnf function in trove/guestagent/datastore/mysql/service.py, InnoBackupEx::_run_prepare function in trove/guestagent/strategies/restore/mysql_impl.py, InnoBackupEx::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, MySQLDump::cmd in trove/guestagent/strategies/backup/mysql_impl.py, InnoBackupExIncremental::cmd function in trove/guestagent/strategies/backup/mysql_impl.py, _get_actual_db_status function in trove/guestagent/datastore/experimental/cassandra/system.py and trove/guestagent/datastore/experimental/cassandra/service.py, and multiple class CbBackup methods in trove/guestagent/strategies/backup/experimental/couchbase_impl.py in Openstack DBaaS (aka Trove) as packaged in Openstack before 2015.1.0 (aka Kilo) allows local users to write to configuration files via a symlink attack on a temporary file.","Type":"Description","Title":null},{"CveYear":"2015","CveId":"3156","Ordinal":"2","NoteData":"2017-08-11","Type":"Other","Title":"Published"},{"CveYear":"2015","CveId":"3156","Ordinal":"3","NoteData":"2017-08-11","Type":"Other","Title":"Modified"}]}}}