CVE-2026-50589: OpenStack Ironic denial of service via crafted JSON in API endpoints

CVE-2026-50589 · Severity: medium · CVSS 5.3 · Published 2026-06-05

OpenStack Ironic, a service for managing bare metal hardware, is vulnerable to a denial-of-service attack. An unauthenticated attacker can send a specially crafted data string to the service's API, causing the application to crash. This disrupts the ability to manage or provision physical servers until the service is manually or automatically restarted.

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

Quick answers

Is CVE-2026-50589 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-50589 being exploited in the wild.
How severe is CVE-2026-50589?
Medium severity, with a CVSS score of 5.3, published 5 June 2026.
Which products and versions are affected?
OpenStack Ironic >= 32.0.0, < 37.0.0, 32 through 35.0.1; ironic (PyPI) ECOSYSTEM:introduced=32.0.0,fixed=37.0.0.
Is there a fix for CVE-2026-50589?
Yes. ironic (PyPI): upgrade to 37.0.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-50589 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-50589?
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 37.0.0 or later
    pip install "ironic>=37.0.0"

Technical details

A vulnerability exists in OpenStack Ironic (versions 32.0.0 to 36.x) due to improper handling of untrusted JSON data before authentication checks occur. Specifically, the `method.body` decorator parses the full JSON body before verifying credentials. An attacker can submit a deeply nested or crafted JSON string (e.g., a large number of opening brackets) that exceeds the Python runtime stack size, leading to a SIGSEGV or recursion error that crashes the service process. While reverse proxies like Nginx may mitigate large payloads, the crash can be triggered with payloads smaller than 1MB. The issue is addressed in version 37.0.0 by implementing content length checks and improving resource allocation limits during deserialization.

Affected products

  • OpenStack ironic >= 32.0.0, < 37.0.0

Identifiers

  • CVE-2026-50589
  • GHSA-q3g8-rjrx-59ph
  • PYSEC-2026-216

Timeline

  • 2026-05-26: disclosed: Vulnerability reported by Metal3.io security team
  • 2026-06-05: advisory: GitHub Advisory and NVD record published
  • 2026-07-15: patched: Advisory updated with patched version information

References

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