CVE Vulnerabilities

CVE-2015-3156

Improper Link Resolution Before File Access ('Link Following')

Published: Aug 11, 2017 | Modified: Aug 25, 2017
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
CVSS 2.x
2.1 LOW
AV:L/AC:L/Au:N/C:N/I:P/A:N
RedHat/V2
3.8 LOW
AV:A/AC:M/Au:S/C:P/I:N/A:P
RedHat/V3
Ubuntu
MEDIUM

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.

Weakness

The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.

Affected Software

Name Vendor Start Version End Version
Trove Openstack * 2014.2.4 (including)
Openstack-trove Ubuntu artful *
Openstack-trove Ubuntu bionic *
Openstack-trove Ubuntu cosmic *
Openstack-trove Ubuntu disco *
Openstack-trove Ubuntu eoan *
Openstack-trove Ubuntu esm-apps/bionic *
Openstack-trove Ubuntu esm-apps/focal *
Openstack-trove Ubuntu esm-apps/jammy *
Openstack-trove Ubuntu esm-apps/xenial *
Openstack-trove Ubuntu focal *
Openstack-trove Ubuntu groovy *
Openstack-trove Ubuntu hirsute *
Openstack-trove Ubuntu impish *
Openstack-trove Ubuntu jammy *
Openstack-trove Ubuntu kinetic *
Openstack-trove Ubuntu lunar *
Openstack-trove Ubuntu mantic *
Openstack-trove Ubuntu trusty *
Openstack-trove Ubuntu utopic *
Openstack-trove Ubuntu vivid *
Openstack-trove Ubuntu wily *
Openstack-trove Ubuntu xenial *
Openstack-trove Ubuntu yakkety *
Openstack-trove Ubuntu zesty *

Potential Mitigations

  • Follow the principle of least privilege when assigning access rights to entities in a software system.
  • Denying access to a file can prevent an attacker from replacing that file with a link to a sensitive file. Ensure good compartmentalization in the system to provide protected areas that can be trusted.

References