CVE-2026-48681: OpenStack Ironic directory traversal in ISO image extraction

CVE-2026-48681 · Severity: medium · CVSS 5.9 · Published 2026-06-04

OpenStack Ironic, a service for managing bare metal infrastructure, is vulnerable to a security flaw that allows an attacker to overwrite files on the host system. By providing a specially crafted ISO image during the server deployment process, an authorized user can bypass security restrictions to modify sensitive system files. This could lead to a compromise of the management server or the target hardware being deployed.

Technologies: OpenStack Ironic, ironic (PyPI). Vendors: OpenStack, PyPI.

Quick answers

Is CVE-2026-48681 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-48681 being exploited in the wild.
How severe is CVE-2026-48681?
Medium severity, with a CVSS score of 5.9, published 4 June 2026.
Which products and versions are affected?
OpenStack Ironic >= 17.0.0, < 26.1.7; >= 27.0.0, < 29.0.6; >= 30.0.0, < 32.0.2; >= 33.0.0, < 35.0.2, >=17.0.0 <26.1.7, >=27.0.0 <29.0.6, >=30.0.0 <32.0.2, >=33.0.0 <35.0.2; ironic (PyPI) ECOSYSTEM:introduced=17.0.0,fixed=26.1.7, ECOSYSTEM:introduced=17.0.0,fixed=26.1.7,introduced=27.0.0,fixed=29.0.6,introduced=30.0.0,fixed=32.0.2,introduced=33.0.0,fixed=35.0.2.
Is there a fix for CVE-2026-48681?
Yes. ironic (PyPI): upgrade to 26.1.7, 35.0.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-48681 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-48681?
Check whether you run OpenStack Ironic or ironic (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • ironic (PyPI): upgrade to 26.1.7, 35.0.2 or later
    pip install "ironic>=35.0.2"

Technical details

A path traversal vulnerability exists in OpenStack Ironic's ISO handling code, specifically within the `_extract_iso()` function in `images.py`. The component uses `os.path.join()` to combine extraction directories with paths retrieved from an ISO image via `pycdlib` without proper validation or normalization of `../` sequences. An authenticated attacker with permissions to deploy nodes using virtual media, configdrive, or the anaconda interface can provide a malicious ISO containing traversal sequences. This allows the attacker to overwrite arbitrary files as the `ironic-conductor` user on the conductor host or on the target disk during deployment. The vulnerability is mitigated by the requirement for high privileges and the complexity of crafting an ISO that adheres to specific filesystem constraints (like the 8.3 filename schema in some contexts).

Affected products

  • OpenStack Ironic >= 17.0.0, < 26.1.7; >= 27.0.0, < 29.0.6; >= 30.0.0, < 32.0.2; >= 33.0.0, < 35.0.2

Identifiers

  • CVE-2026-48681
  • GHSA-9v62-qx4c-44x5
  • PYSEC-2026-3470

Timeline

  • 2026-04-14: disclosed: Bug reported to Launchpad by Dmitry Tantsur
  • 2026-06-03: advisory: OpenStack Security Advisory OSSA-2026-018 issued
  • 2026-06-04: patched: Initial publication of CVE and GitHub advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.