CVE-2024-44082
Medium · 4.3CVSS
4.3
EPSS
0.5%
Published
Sep 6, 2024
CISA due date
—
Cloudanix analysis
Someone who already has login access might be able to use a specially made image file to see private data they should not access.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A crafted image supplied by an authenticated user can trigger undesired behaviors in qemu-img during image processing, resulting in unauthorized access to potentially sensitive data.
Why it matters to the business
Organizations running affected OpenStack deployments face risk of sensitive data exposure through authenticated user actions, with low but present likelihood given stable EPSS and no known exploitation campaigns.
How an attack unfolds
An authenticated user supplies a maliciously crafted disk image to the Ironic image processing workflow, which invokes qemu-img and exploits its handling to leak data; no named threat actors or ransomware usage reported.
How to fix it
Upgrade Ironic to version 26.0.1 or later and ironic-python-agent to 9.13.1 or later, applying the branch-specific fixes: Ironic <21.4.3 to >=21.4.3, >=22.0.0 <23.0.2 to >=23.0.2, >=23.1.0 <24.1.2 to >=24.1.2, >=25.0.0 <26.0.1 to >=26.0.1; ironic-python-agent equivalent branches to >=9.4.2, >=9.7.1, >=9.11.1, >=9.13.1.
How to confirm the fix worked
Confirm deployed Ironic and ironic-python-agent versions match or exceed the fixed releases for each branch; test image processing with known-safe images to verify no unexpected qemu-img behavior.
Typical attack path
- Obtain authenticated access to the Ironic API
- Upload a specially crafted image file
- Trigger image processing via qemu-img
- Observe or access leaked sensitive data
How to detect it
Review Ironic API and qemu-img process logs for anomalous image uploads or processing events that result in unexpected file or memory access patterns; no specific threat actor TTPs documented.
What your security team should do
- Apply the listed version upgrades across all affected branches without delay
- Restrict image upload privileges to least-privilege authenticated users
- Monitor EPSS and KEV status for any future changes despite current low scores
The record
In OpenStack Ironic before 26.0.1 and ironic-python-agent before 9.13.1, there is a vulnerability in image processing, in which a crafted image could be used by an authenticated user to exploit undesired behaviors in qemu-img, including possible unauthorized access to potentially sensitive data. The affected/fixed version details are: Ironic: <21.4.3, >=22.0.0 <23.0.2, >=23.1.0 <24.1.2, >=25.0.0 <26.0.1; Ironic-python-agent: <9.4.2, >=9.5.0 <9.7.1, >=9.8.0 <9.11.1, >=9.12.0 <9.13.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | ironic | 0 | No fix |
| Debian:12 | ironic | 0 | No fix |
| Debian:13 | ironic | 0 | No fix |
| Debian:13 | ironic-python-agent | 0 | No fix |
| Red Hat:openshift:4.12::el8 | containernetworking-plugins | 0 | 1:1.4.0-4.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | containernetworking-plugins-debuginfo | 0 | 1:1.4.0-4.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | containernetworking-plugins-debugsource | 0 | 1:1.4.0-4.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | cri-o | 0 | 0:1.25.5-30.rhaos4.12.git53dc492.el8 |
| Red Hat:openshift:4.12::el8 | cri-o-debuginfo | 0 | 0:1.25.5-30.rhaos4.12.git53dc492.el8 |
| Red Hat:openshift:4.12::el8 | cri-o-debugsource | 0 | 0:1.25.5-30.rhaos4.12.git53dc492.el8 |
| Red Hat:openshift:4.12::el8 | podman | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-catatonit | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-catatonit-debuginfo | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-debuginfo | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-debugsource | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-docker | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-gvproxy | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-gvproxy-debuginfo | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-plugins | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-plugins-debuginfo | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-remote | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-remote-debuginfo | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | podman-tests | 0 | 3:4.4.1-8.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | skopeo | 0 | 2:1.9.4-7.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | skopeo-debuginfo | 0 | 2:1.9.4-7.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | skopeo-debugsource | 0 | 2:1.9.4-7.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el8 | skopeo-tests | 0 | 2:1.9.4-7.rhaos4.12.el8 |
| Red Hat:openshift:4.12::el9 | cri-o | 0 | 0:1.25.5-5.rhaos4.12.git53dc492.el9 |
| Red Hat:openshift:4.12::el9 | cri-o-debuginfo | 0 | 0:1.25.5-5.rhaos4.12.git53dc492.el9 |
| Red Hat:openshift:4.12::el9 | cri-o-debugsource | 0 | 0:1.25.5-5.rhaos4.12.git53dc492.el9 |
| Red Hat:openshift:4.12::el9 | podman | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-catatonit | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-catatonit-debuginfo | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-debuginfo | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-debugsource | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-docker | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-gvproxy | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-gvproxy-debuginfo | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-plugins | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-plugins-debuginfo | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-remote | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-remote-debuginfo | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | podman-tests | 0 | 3:4.2.0-12.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | skopeo | 0 | 2:1.9.4-7.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | skopeo-debuginfo | 0 | 2:1.9.4-7.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | skopeo-debugsource | 0 | 2:1.9.4-7.rhaos4.12.el9 |
| Red Hat:openshift:4.12::el9 | skopeo-tests | 0 | 2:1.9.4-7.rhaos4.12.el9 |
| Red Hat:openshift:4.13::el8 | podman | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-catatonit | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-catatonit-debuginfo | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-debuginfo | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-debugsource | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-docker | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-gvproxy | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-gvproxy-debuginfo | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-plugins | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-plugins-debuginfo | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-remote | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-remote-debuginfo | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | podman-tests | 0 | 3:4.4.1-13.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | skopeo | 0 | 2:1.11.3-3.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el8 | skopeo-tests | 0 | 2:1.11.3-3.rhaos4.13.el8 |
| Red Hat:openshift:4.13::el9 | podman | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-debuginfo | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-debugsource | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-docker | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-gvproxy | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-gvproxy-debuginfo | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-plugins | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-plugins-debuginfo | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-remote | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-remote-debuginfo | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | podman-tests | 0 | 3:4.4.1-14.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | skopeo | 0 | 2:1.11.3-3.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | skopeo-debuginfo | 0 | 2:1.11.3-3.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | skopeo-debugsource | 0 | 2:1.11.3-3.rhaos4.13.el9 |
| Red Hat:openshift:4.13::el9 | skopeo-tests | 0 | 2:1.11.3-3.rhaos4.13.el9 |
| Red Hat:openshift_ironic:4.12::el9 | openstack-ironic | 0 | 1:21.0.1-0.20240913135525.114badc.el9 |
| Red Hat:openshift_ironic:4.12::el9 | openstack-ironic-api | 0 | 1:21.0.1-0.20240913135525.114badc.el9 |
| Red Hat:openshift_ironic:4.12::el9 | openstack-ironic-common | 0 | 1:21.0.1-0.20240913135525.114badc.el9 |
| Red Hat:openshift_ironic:4.12::el9 | openstack-ironic-conductor | 0 | 1:21.0.1-0.20240913135525.114badc.el9 |
| Red Hat:openshift_ironic:4.12::el9 | openstack-ironic-dnsmasq-tftp-server | 0 | 1:21.0.1-0.20240913135525.114badc.el9 |
| Red Hat:openshift_ironic:4.12::el9 | python3-ironic-tests | 0 | 1:21.0.1-0.20240913135525.114badc.el9 |
| Red Hat:openshift_ironic:4.13::el9 | openstack-ironic | 0 | 1:21.3.1-0.20240911165036.c0d61d0.el9 |
| Red Hat:openshift_ironic:4.13::el9 | openstack-ironic-api | 0 | 1:21.3.1-0.20240911165036.c0d61d0.el9 |
| Red Hat:openshift_ironic:4.13::el9 | openstack-ironic-common | 0 | 1:21.3.1-0.20240911165036.c0d61d0.el9 |
| Red Hat:openshift_ironic:4.13::el9 | openstack-ironic-conductor | 0 | 1:21.3.1-0.20240911165036.c0d61d0.el9 |
| Red Hat:openshift_ironic:4.13::el9 | openstack-ironic-dnsmasq-tftp-server | 0 | 1:21.3.1-0.20240911165036.c0d61d0.el9 |
| Red Hat:openshift_ironic:4.13::el9 | python-webob | 0 | 0:1.8.8-2.el9 |
| Red Hat:openshift_ironic:4.13::el9 | python3-ironic-tests | 0 | 1:21.3.1-0.20240911165036.c0d61d0.el9 |
| Red Hat:openshift_ironic:4.13::el9 | python3-webob | 0 | 0:1.8.8-2.el9 |
| Red Hat:openstack:16.2::el8 | openstack-ironic | 0 | 1:13.0.8-2.20230713045150.d10fd5c.el8ost |
| Red Hat:openstack:16.2::el8 | openstack-ironic-api | 0 | 1:13.0.8-2.20230713045150.d10fd5c.el8ost |
| Red Hat:openstack:16.2::el8 | openstack-ironic-common | 0 | 1:13.0.8-2.20230713045150.d10fd5c.el8ost |
| Red Hat:openstack:16.2::el8 | openstack-ironic-conductor | 0 | 1:13.0.8-2.20230713045150.d10fd5c.el8ost |
| Red Hat:openstack:17.1::el9 | openstack-ironic | 0 | 1:17.1.1-17.1.20240917210749.c31db88.el9ost |
| Red Hat:openstack:17.1::el9 | openstack-ironic-api | 0 | 1:17.1.1-17.1.20240917210749.c31db88.el9ost |
| Red Hat:openstack:17.1::el9 | openstack-ironic-common | 0 | 1:17.1.1-17.1.20240917210749.c31db88.el9ost |
| Red Hat:openstack:17.1::el9 | openstack-ironic-conductor | 0 | 1:17.1.1-17.1.20240917210749.c31db88.el9ost |
| Ubuntu:16.04:LTS | ironic | 0 | No fix |
| Ubuntu:18.04:LTS | ironic | 0 | No fix |
| Ubuntu:20.04:LTS | ironic | 0 | No fix |
| Ubuntu:22.04:LTS | ironic | 0 | 1:20.1.0-0ubuntu1.2 |
| Ubuntu:24.04:LTS | ironic | 0 | 1:24.1.1-0ubuntu1.2 |
| Ubuntu:24.04:LTS | ironic-python-agent | 0 | No fix |
| Ubuntu:24.10 | ironic | 0 | No fix |
| Ubuntu:24.10 | ironic-python-agent | 0 | No fix |
| Ubuntu:25.04 | ironic | 0 | No fix |
| Ubuntu:25.04 | ironic-python-agent | 0 | No fix |
| Ubuntu:25.10 | ironic | 0 | No fix |
| Ubuntu:25.10 | ironic-python-agent | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ironic | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | ironic | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | ironic | 0 | No fix |
Related vulnerabilities
- CVE-2024-47211 In OpenStack Ironic before 21.4.4, 22.x and 23.x before 23.0.3, 23.x and 24.x before… Also affects ironic
- CVE-2024-9341 A flaw was found in Go. Also affects containernetworking-plugins
- CVE-2023-0056 An uncontrolled resource consumption vulnerability was discovered in HAProxy which could… Also affects containernetworking-plugins
- CVE-2022-2996 A flaw was found in the python-scciclient when making an HTTPS connection to a server… Also affects containernetworking-plugins
- CVE-2024-37298 gorilla/schema converts structs to and from form values. Also affects cri-o
- CVE-2023-46136 Werkzeug is a comprehensive WSGI web application library. Also affects cri-o
- CVE-2024-3727 A flaw was found in the github.com/containers/image library. Also affects podman
- CVE-2023-2088 A flaw was found in OpenStack due to an inconsistency between Cinder and Nova. Also affects ironic