Cloudanix VulnDB

CVE-2024-40767

Medium · 6.5

CVSS

6.5

EPSS

0.9%

Published

Jul 24, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in widely used cloud software lets logged-in users trick the system into handing over copies of files it is not supposed to share, which could expose private information.

Exploit Available
Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
Path Traversal
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Authenticated users can supply a raw-format disk image that is actually a crafted QCOW2 or VMDK file containing a backing-file or descriptor path; Nova follows the embedded path and returns the referenced file contents from the server, enabling unauthorized file reads.

Why it matters to the business

Attackers with valid credentials may obtain sensitive configuration files, credentials, or other data stored on compute nodes, increasing risk of further compromise and potential operational disruption across all Nova-based cloud deployments.

How an attack unfolds

An authenticated user creates a malicious QCOW2 or VMDK image embedding a path to a target file, uploads or references it as a raw-format image during instance creation or image registration, and Nova's image handling code follows the path and returns the file contents to the user.

How to fix it

Upgrade OpenStack Nova to 27.4.1 or later, 28.2.1 or later, or 29.1.1 or later. Until patches can be applied, restrict image upload and registration privileges and enforce strict validation of image formats and backing paths.

How to confirm the fix worked

Confirm Nova services are running patched versions, review image-handling code for the presence of the prior incomplete fixes, and test that crafted QCOW2/VMDK images no longer return arbitrary file contents.

Typical attack path

  1. Obtain valid OpenStack credentials
  2. Craft QCOW2 or VMDK image with malicious backing-file or descriptor path
  3. Register or boot an instance using the crafted image presented as raw format
  4. Receive contents of the referenced server-side file in the response

How to detect it

Review Nova compute and API logs for image registration or instance creation events that specify raw format yet reference QCOW2 or VMDK structures; correlate with unexpected file-access patterns on compute hosts.

What your security team should do

  • Apply the listed Nova version upgrades immediately on all deployments
  • Audit and tighten image upload and Glance integration permissions
  • Monitor for unusual image registration or instance creation events involving raw format
  • Re-test any prior mitigations applied for CVE-2022-47951 and CVE-2024-32498

The record

In OpenStack Nova before 27.4.1, 28 before 28.2.1, and 29 before 29.1.1, by supplying a raw format image that is actually a crafted QCOW2 image with a backing file path or VMDK flat image with a descriptor file path, an authenticated user may convince systems to return a copy of the referenced file's contents from the server, resulting in unauthorized access to potentially sensitive data. All Nova deployments are affected. NOTE: this issue exists because of an incomplete fix for CVE-2022-47951 and CVE-2024-32498.

Affected packages

Ecosystem Package Introduced Fixed
PyPI nova 0 No fix
PyPI nova 28.0.0 No fix
PyPI nova 29.0.0 No fix
Debian:11 nova 0 2:22.4.0-1~deb11u5
Red Hat:openstack:16.1::el8 openstack-nova 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-api 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-common 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-compute 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-conductor 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-console 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-migration 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-novncproxy 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-scheduler 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-serialproxy 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-spicehtml5proxy 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.1::el8 python3-nova 0 1:20.4.1-1.20221005193235.el8ost
Red Hat:openstack:16.2::el8 openstack-nova 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-api 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-common 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-compute 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-conductor 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-console 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-migration 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-novncproxy 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-scheduler 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-serialproxy 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-spicehtml5proxy 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:16.2::el8 python3-nova 0 1:20.6.2-2.20230814165229.el8ost
Red Hat:openstack:17.1::el9 openstack-nova 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-api 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-common 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-compute 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-conductor 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-migration 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-novncproxy 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-scheduler 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-serialproxy 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 openstack-nova-spicehtml5proxy 0 1:23.2.3-17.1.20231018130829.el9ost
Red Hat:openstack:17.1::el9 python3-nova 0 1:23.2.3-17.1.20231018130829.el9ost
Ubuntu:20.04:LTS nova 0 2:21.2.4-0ubuntu2.11
Ubuntu:22.04:LTS nova 0 3:25.2.1-0ubuntu2.6
Ubuntu:24.04:LTS nova 0 3:29.0.1-0ubuntu1.4
Ubuntu:24.10 nova 0 3:29.1.0+git2024080716.bb2d7f9c-0ubuntu1
Ubuntu:Pro:16.04:LTS nova 0 No fix
Ubuntu:Pro:18.04:LTS nova 0 No fix
pypi nova 28.0.0 No fix
pypi nova 29.0.0 No fix

Related vulnerabilities