PHP2Shell: Read our blog on the critical RCE vulnerabilities affecting 70% of the Internet

CVE-2026-89419: 
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2026-89419 is a missing authorization vulnerability in OpenStack Ironic that allows an authenticated lessee member to bypass the set_maintenance policy and modify the maintenance state of bare metal nodes via the generic node PATCH API. The flaw was reported by Tuomo Tanskanen (Ericsson Software Technology) and Dmitry Tantsur (Red Hat), disclosed on October 22, 2026, and affects at least the master and stable/2026.2 branches of upstream Ironic. It carries a CVSS v3.1 base score of 5.4 (Medium) (Red Hat CVE, Red Hat Bugzilla).

Technical details

The root cause is a missing authorization check (CWE-862) in NodesController.patch() within ironic/api/controllers/v1/node.py. The per-field policy enforcement block maps specific JSON Patch paths (e.g., /retired, /shard, /parent_node, /disable_power_off) to their respective stricter policy rules, but omitted /maintenance. Because /maintenance was present in PATCH_ALLOWED_FIELDS, a PATCH /v1/nodes/{ident} request with op:replace path:/maintenance value:true|false was accepted and only validated against the generic baremetal:node:update policy — which is granted to lessee members — rather than the stricter baremetal:node:set_maintenance / baremetal:node:clear_maintenance policies restricted to lessee managers and administrators. The dedicated maintenance endpoint at /v1/nodes/{ident}/maintenance correctly enforces the stricter policy and is not affected. The upstream fix (Change-Id: Ibab11b186ec0b0151e3720cd8cf9cf529ffd1112, Launchpad #2166510) maps both /maintenance and /maintenance_reason to baremetal:node:set_maintenance (Red Hat Bugzilla).

Impact

An authenticated lessee member can place bare metal nodes into maintenance mode, disrupting workload scheduling and node availability, or can clear maintenance mode on nodes that an operator intentionally marked as under maintenance — potentially returning nodes to the scheduling pool before repairs or safety checks are complete. The confidentiality impact is none, while integrity and availability are both assessed as low. The scope is limited to nodes within the lessee's project, but the ability to interfere with operator-controlled maintenance windows could have broader operational consequences in multi-tenant bare metal cloud environments (Red Hat CVE, Red Hat Bugzilla).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at the time of disclosure. The vulnerability requires valid credentials with at least lessee member privileges, limiting the attack surface to authenticated users of an affected OpenStack deployment. No threat actor attribution, EPSS score, or CISA KEV catalog listing has been reported for this CVE (Red Hat CVE).

Exploitation steps

  1. Obtain lessee member credentials: Authenticate to the OpenStack environment as a user with at least the lessee member role on a project that has access to bare metal nodes.
  2. Identify target nodes: Enumerate bare metal nodes accessible to the lessee project using GET /v1/nodes or the OpenStack CLI (openstack baremetal node list).
  3. Craft a PATCH request: Send an HTTP PATCH request to /v1/nodes/{ident} with a JSON Patch body such as [{"op": "replace", "path": "/maintenance", "value": true}] and appropriate authentication headers (e.g., X-Auth-Token).
  4. Bypass policy enforcement: Because the generic baremetal:node:update policy is evaluated instead of baremetal:node:set_maintenance, the request succeeds despite the caller lacking the required role.
  5. Achieve objective: The targeted node is placed into (or removed from) maintenance mode, disrupting scheduling and availability or circumventing operator-intended maintenance restrictions (Red Hat Bugzilla).

Indicators of compromise

  • Network/API Logs: Unexpected PATCH /v1/nodes/{ident} requests from lessee member accounts containing a maintenance field in the request body, particularly from accounts that do not normally perform node management operations.
  • Logs: Ironic API logs showing baremetal:node:update policy evaluations for requests that modify the /maintenance path, rather than baremetal:node:set_maintenance or baremetal:node:clear_maintenance.
  • Operational Anomalies: Bare metal nodes unexpectedly entering or exiting maintenance mode without a corresponding action from a lessee manager or administrator account (Red Hat Bugzilla).

Mitigation and workarounds

Apply the upstream patch (Change-Id: Ibab11b186ec0b0151e3720cd8cf9cf529ffd1112) which maps /maintenance and /maintenance_reason PATCH paths to the baremetal:node:set_maintenance policy rule. As a temporary workaround until patching is complete, restrict API access to the node PATCH endpoint so that only lessee managers and administrators can reach it, and monitor Ironic API logs for PATCH requests modifying the maintenance field on /v1/nodes/ endpoints. Operators should also audit recent maintenance state changes on bare metal nodes to identify any unauthorized modifications (Red Hat Bugzilla, Red Hat CVE).

Community reactions

The vulnerability was discussed briefly on the oss-security mailing list and noted on Bluesky by the infosec community shortly after disclosure on October 22, 2026. No major media coverage or significant vendor statements beyond the Red Hat advisory and Bugzilla entry have been identified (Red Hat CVE).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

ironic

Affected

sid

ironic: 1:39.0.0-6

Fixed

trixie

ironic

Affected

Ubuntu

Unknown

bionic (esm-apps)

ironic

Unknown

devel

ironic

Unknown

focal (esm-apps)

ironic

Unknown

jammy

ironic

Unknown

jammy (esm-apps)

ironic

Unknown

noble

ironic

Unknown

noble (esm-apps)

ironic

Unknown

resolute

ironic

Unknown

RHEL / CentOS

Affected

OpenShift

openshift4/ose-ironic-rhel9

Affected

Source: This report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-89419MEDIUM5.4
  • Linux Debian logoLinux Debian
  • ironic
NoNoOct 23, 2026
CVE-2026-90458MEDIUM4.7
  • Linux Debian logoLinux Debian
  • ironic
NoNoOct 23, 2026
CVE-2026-85559NONEN/A
  • Linux Debian logoLinux Debian
  • pdns-recursor
NoYesOct 23, 2026
CVE-2026-85558NONEN/A
  • Linux Debian logoLinux Debian
  • pdns-recursor
NoYesOct 23, 2026
CVE-2026-85557NONEN/A
  • Linux Debian logoLinux Debian
  • pdns-recursor
NoYesOct 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management