CVE-2016-2140 OpenStack Nova host data access through resize/migration

Medium 5.3 Published Updated

Remote authenticated users can read arbitrary files via crafted qcow2 headers in OpenStack Compute when using raw storage with specific settings.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2016-2140?

CVE-2016-2140 is a medium-severity path traversal vulnerability in n/a, published on 12 Apr 2016. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

The libvirt driver in OpenStack Compute (Nova) before 2015.1.4 (kilo) and 12.0.x before 12.0.3 (liberty), when using raw storage and use_cow_images is set to false, allows remote authenticated users to read arbitrary files via a crafted qcow2 header in an ephemeral or root disk.

Weakness: CWE-200

Which versions are affected by CVE-2016-2140?

3 open source packages ship an affected version, including nova. It affects 1 product.

PackageAffectedFixed in
nova PyPIFrom 12.0.012.0.3
nova PyPIFrom 12.0.012.0.3
nova PyPIFrom 12.0.012.0.3
Linux distribution packages (37)
openstack-nova Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-api Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-cells Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-cert Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-common Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-compute Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-conductor Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-console Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-doc Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-network Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-novncproxy Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-objectstore Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-scheduler Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova-serialproxy Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
python-nova Red Hat:openstack:5::el6All versions0:2014.1.5-29.el6ost
openstack-nova Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-api Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-cells Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-cert Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-common Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-compute Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-conductor Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-console Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-doc Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-network Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-novncproxy Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-objectstore Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-scheduler Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova-serialproxy Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
python-nova Red Hat:openstack:5::el7All versions0:2014.1.5-29.el7ost
openstack-nova Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost
openstack-nova-api Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost
openstack-nova-cells Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost
openstack-nova-cert Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost
openstack-nova-common Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost
openstack-nova-compute Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost
openstack-nova-conductor Red Hat:openstack:6::el7All versions0:2014.2.3-54.2.el7ost

Products include Openstack Nova.

How do I fix CVE-2016-2140?

Upgrade nova to 12.0.3 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2016-2140 being exploited?

There is no known exploitation of CVE-2016-2140 in the wild and no public exploit code.

Sources

Also known as DEBIAN-CVE-2016-2140, GHSA-49jv-37hm-6gfp, PYSEC-2026-864, RHSA-2016:0363, RHSA-2016:0364, RHSA-2016:0365 and 2 more.

Is CVE-2016-2140 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free