---
id: CVE-2026-54421
aliases:
  - GHSA-j4cw-mcg2-2q78
  - PYSEC-2026-3852
title: >-
  OpenStack Ironic can return unredacted sensitive information when applying a
  PATCH to update fields in volume properties
summary: >-
  OpenStack Ironic can return unredacted sensitive information when applying a
  PATCH to update fields in volume properties
severity: medium
cvss: 6.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N'
vendor: ironic
product: ironic
ecosystem: pip
affected:
  - 'ironic >= 17.0.0, < 29.0.6'
  - 'ironic >= 30.0.0, < 32.0.2'
  - 'ironic >= 33.0.0, < 35.0.2'
  - 'ironic >= 36.0.0, < 37.0.1'
patched:
  - ironic 29.0.6
  - ironic 32.0.2
  - ironic 35.0.2
  - ironic 37.0.1
published: '2026-06-14'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T12:25:40.898686358Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-j4cw-mcg2-2q78'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-54421'
  - url: >-
      https://github.com/openstack/ironic/commit/dd2df520fe0ae019cb247a8295542abc2d4b46dd
  - url: 'https://bugs.launchpad.net/ironic/+bug/2155049'
  - url: 'https://github.com/openstack/ironic'
  - url: 'https://review.opendev.org/c/openstack/ironic/+/990430'
  - url: 'https://security.openstack.org/ossa/OSSA-2026-023.html'
  - url: 'http://www.openwall.com/lists/oss-security/2026/06/16/10'
  - url: 'https://pypi.org/project/ironic'
  - url: 'https://github.com/advisories/GHSA-j4cw-mcg2-2q78'
tags:
  - osv
  - pip
epss: 0.00469
epssPercentile: 0.38072
ingestedAt: '2026-08-26T19:27:01.371Z'
---

## Overview

In OpenStack Ironic through 35.0.1, when applying a PATCH to update fields in volume properties the user is authorized for, Ironic can return unredacted sensitive information (such as iSCSI credentials). The PATCH outcome is a security issue; the POST outcome is not a security issue.

## Affected packages

- `ironic >= 17.0.0, < 29.0.6`
- `ironic >= 30.0.0, < 32.0.2`
- `ironic >= 33.0.0, < 35.0.2`
- `ironic >= 36.0.0, < 37.0.1`

## Remediation

Upgrade to a patched release:

- `ironic 29.0.6`
- `ironic 32.0.2`
- `ironic 35.0.2`
- `ironic 37.0.1`
