CVE-2025-29781 json
Bare Metal Operator (BMO) can expose any secret from other namespaces via BMCEventSubscription CRD
published 2025-03-17 19 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-6528 , GHSA-c98h-7hp9-v9hq , GO-2025-3530
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
Summary
The Bare Metal Operator (BMO) implements a Kubernetes API for managing bare metal hosts in Metal3. Baremetal Operator enables users to load Secret from arbitrary namespaces upon deployment of the namespace scoped Custom Resource `BMCEventSubscription`. Prior to versions 0.8.1 and 0.9.1, an adversary Kubernetes account with only namespace level roles (e.g. a tenant controlling a namespace) may create a `BMCEventSubscription` in his authorized namespace and then load Secrets from his unauthorized namespaces to his authorized namespace via the Baremetal Operator, causing Secret Leakage. The patch makes BMO refuse to read Secrets from other namespace than where the corresponding BMH resource is. The patch does not change the `BMCEventSubscription` API in BMO, but stricter validation will fail the request at admission time. It will also prevent the controller reading such Secrets, in case the BMCES CR has already been deployed. The issue exists for all versions of BMO, and is patched in BMO releases v0.9.1 and v0.8.1. Prior upgrading to patched BMO version, duplicate any existing Secret pointed to by `BMCEventSubscription`'s `httpHeadersRef` to the same namespace where the corresponding BMH exists. After upgrade, remove the old Secrets. As a workaround, the operator can configure BMO RBAC to be namespace scoped, instead of cluster scoped, to prevent BMO from accessing Secrets from other namespaces, and/or use `WATCH_NAMESPACE` configuration option to limit BMO to single namespace.
Patch / fix
- go github.com/metal3-io/baremetal-operator/apis 0.8.1, 0.9.1
- linuxfoundation baremetal_operator 0.8.1
- govulncheck-vulndb openSUSE Tumbleweed 0.0.20250318T181448-1.1
opensuse advisories openSUSE-SU-2025:14910-1
- github.com/metal3-io/baremetal-operator@19f8443 commit
- github.com/metal3-io/baremetal-operator#2321 pull request
- github.com/metal3-io/baremetal-operator#2322 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-29781 updated cvss 8.2
baremetal-operator/apis: Bare Metal Operator (BMO) can expose any secret from other namespaces via BMCEventSubscription CRD
-
Red Hat Assisted Installer for Red Hat OpenShift Container Platform 2 rhai-tech-preview/assisted-installer-rhel8, rhai-tech-preview/assisted-installer-reporter-rhel8 Red Hat Multicluster Engine for Kubernetes openshift4/multicluster-engine-hive, multicluster-engine/agent-service-rhel8, multicluster-engine/assisted-service-8-rhel8, multicluster-engine/assisted-service-9-rhel9, multicluster-engine/image-based-install-rhel9, openshift4/multicluster-engine-assisted-installer, +2 more Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/acm-siteconfig-rhel9 Red Hat OpenShift Container Platform 4 openshift4/ose-baremetal-cluster-api-controllers-rhel9 Red Hat OpenStack Platform 16.2 rhosp-rhel9/osp-director-agent, rhosp-rhel8/osp-director-operator, rhosp-rhel9/osp-director-downloader Red Hat OpenStack Platform 17.1 rhosp-rhel9/osp-director-agent, rhosp-rhel8/osp-director-operator, rhosp-rhel9/osp-director-downloaderaffected: workaround, no fix available “Fix deferred”
+1 more productsfewer
Red Hat OpenStack Platform 18.0 rhoso-operators/openstack-rhel9-operator, rhoso-operators/openstack-operator-bundle, rhoso-operators/openstack-baremetal-agent-rhel9, rhoso-operators/openstack-baremetal-rhel9-operator, rhoso-operators/openstack-baremetal-operator-bundle -
Red Hat OpenShift Container Platform 4.12 openshift4/ose-baremetal-rhel8-operator v4.12.0-202504241000.p0.g6817f4e.assembly.stream.el8fixed: vendor fix RHSA-2025:4409
-
Red Hat OpenShift Container Platform 4.13 openshift4/ose-baremetal-rhel8-operator v4.13.0-202504231429.p0.g3f56e49.assembly.stream.el8fixed: vendor fix RHSA-2025:4677
-
Red Hat OpenShift Container Platform 4.14 openshift4/ose-baremetal-rhel8-operator v4.14.0-202504220036.p0.g483d019.assembly.stream.el8fixed: vendor fix RHSA-2025:4177
-
Red Hat OpenShift Container Platform 4.15 openshift4/ose-baremetal-rhel9-operator v4.15.0-202504281408.p0.g880ee05.assembly.stream.el9fixed: vendor fix RHSA-2025:4422
-
Red Hat OpenShift Container Platform 4.16 openshift4/ose-baremetal-rhel9-operator v4.16.0-202504120704.p0.g84aeac3.assembly.stream.el9fixed: vendor fix RHSA-2025:4008
-
Red Hat OpenShift Container Platform 4.17 openshift4/ose-baremetal-rhel9-operator v4.17.0-202504091537.p0.ge6e5d54.assembly.stream.el9fixed: vendor fix RHSA-2025:3798
-
Red Hat OpenShift Container Platform 4.18 openshift4/ose-baremetal-rhel9-operator v4.18.0-202504090803.p0.g001d949.assembly.stream.el9fixed: vendor fix RHSA-2025:3775
show 3 moreshow fewer
-
Red Hat OpenShift Container Platform 4.19 openshift4/ose-cluster-baremetal-operator-rhel9 v4.19.0-202505200051.p0.gf64a5c1.assembly.stream.el9fixed: vendor fix RHSA-2024:11038
-
Red Hat Multicluster Engine for Kubernetes rhoai/odh-trustyai-service-rhel9not affected: component not present
-
Red Hat OpenShift Container Platform 4.12 rhcos 412.86.202504240545-0, openshift4/ose-cli v4.12.0-202504010132.p0.gd691257.assembly.stream.el8, openshift4/ose-pod v4.12.0-202504010132.p0.g1eb8682.assembly.stream.el8, openshift4/ose-etcd v4.12.0-202504010132.p0.gbb82e89.assembly.stream.el8, openshift4/ose-tests v4.12.0-202504251430.p0.g3b2567f.assembly.stream.el8, openshift4/ose-console v4.12.0-202504251629.p0.gb1a1975.assembly.stream.el8, +185 more Red Hat OpenShift Container Platform 4.13 rhcos 413.92.202505061702-0, openshift4/ose-cli v4.13.0-202504220029.p0.gd192e90.assembly.stream.el8, openshift4/ose-pod v4.13.0-202504220029.p0.g53fd427.assembly.stream.el8, openshift4/ose-tests v4.13.0-202505010331.p0.g7f472fe.assembly.stream.el8, openshift4/ose-console v4.13.0-202504300029.p0.g0f90f85.assembly.stream.el8, openshift4/ose-coredns v4.13.0-202504220029.p0.ge70f097.assembly.stream.el8, +186 more Red Hat OpenShift Container Platform 4.14 rhcos 414.92.202504210147-0, openshift4/ose-cli v4.14.0-202504220036.p0.g44b3ac2.assembly.stream.el8, openshift4/ose-pod v4.14.0-202504220036.p0.g03a907c.assembly.stream.el8, openshift4/ose-tests v4.14.0-202504220036.p0.g8906dc5.assembly.stream.el8, openshift4/ose-console v4.14.0-202504220036.p0.gee29720.assembly.stream.el8, openshift4/ose-coredns v4.14.0-202504220036.p0.gfdd6037.assembly.stream.el8, +193 more Red Hat OpenShift Container Platform 4.15 rhcos 415.92.202504282058-0, openshift4/ose-cli v4.15.0-202504220035.p0.g8231637.assembly.stream.el8, openshift4/ose-tests v4.15.0-202504220035.p0.g7358b02.assembly.stream.el8, openshift4/ose-console v4.15.0-202504281408.p0.gfb0b085.assembly.stream.el8, openshift4/ose-deployer v4.15.0-202504220035.p0.g8231637.assembly.stream.el8, openshift4/ose-installer v4.15.0-202504241905.p0.g2d2704c.assembly.stream.el8, +187 more Red Hat OpenShift Container Platform 4.16 rhcos 416.94.202504151456-0, openshift4/ose-cli-rhel9 v4.16.0-202504120704.p0.gee354f6.assembly.stream.el9, openshift4/ose-pod-rhel9 v4.16.0-202504120704.p0.g7cf4c05.assembly.stream.el9, openshift4/ose-sdn-rhel9 v4.16.0-202504120704.p0.gcbddb0b.assembly.stream.el9, openshift4/ose-etcd-rhel9 v4.16.0-202504121405.p0.ge7911c0.assembly.stream.el9, openshift4/ose-tests-rhel9 v4.16.0-202504141106.p0.ge47256f.assembly.stream.el9, +185 more Red Hat OpenShift Container Platform 4.17 rhcos 417.94.202504080421-0, openshift4/frr-rhel9 v4.17.0-202504091537.p0.gc30988b.assembly.stream.el9, openshift4/ose-cli-rhel9 v4.17.0-202504091537.p0.g0000b3e.assembly.stream.el9, openshift4/ose-pod-rhel9 v4.17.0-202504091537.p0.g89ebee0.assembly.stream.el9, openshift4/ose-etcd-rhel9 v4.17.0-202504091537.p0.g0d9e0a9.assembly.stream.el9, openshift4/ose-tests-rhel9 v4.17.0-202504091537.p0.g4a06fd3.assembly.stream.el9, +183 morenot affected: vulnerable code not present
+2 more productsfewer
Red Hat OpenShift Container Platform 4.18 rhcos 418.94.202504080525-0, openshift4/frr-rhel9 v4.18.0-202504090803.p0.g78714ea.assembly.stream.el9, openshift4/ose-cli-rhel9 v4.18.0-202504090803.p0.geb9bc9b.assembly.stream.el9, openshift4/ose-pod-rhel9 v4.18.0-202504090803.p0.g97471c6.assembly.stream.el9, openshift4/ose-etcd-rhel9 v4.18.0-202504090803.p0.g98b1915.assembly.stream.el9, openshift4/ose-tests-rhel9 v4.18.0-202504090803.p0.gf9e1b11.assembly.stream.el9, +180 more Red Hat OpenShift Container Platform 4.19 rhcos 4.19.9.6.202506020926-0, rhcos 4.19.9.6.202506021814-0, openshift4/frr-rhel9 v4.19.0-202505200051.p0.g5076dbc.assembly.stream.el9, openshift4/ose-cli-rhel9 v4.19.0-202505210330.p0.g8f1c8b5.assembly.stream.el9, openshift4/ose-pod-rhel9 v4.19.0-202505290612.p0.gfadb78e.assembly.stream.el9, openshift4/ose-etcd-rhel9 v4.19.0-202505200051.p0.ga5421df.assembly.stream.el9, +184 more
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 19 mo ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/metal3-io/metal3-docs/blob/main/design/baremetal-operator/bmc-events.md referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/metal3-io/baremetal-operator/apis | >=0.9.0, <0.9.1 <0.8.1 |
0.9.1 0.8.1 |
Affected products
- metal3-io baremetal-operator
Classification
References
-
github.com
/metal3-io/baremetal-operator/pull/2321
web
-
github.com
/metal3-io/baremetal-operator/pull/2322
web
-
github.com
/metal3-io/baremetal-operator/commit/19f8443b1fe182f76dd81b43122e8dd102f8b94c
web
-
github.com
/metal3-io/metal3-docs/blob/main/design/baremetal-operator/bmc-events.md
exploit, web
-
github.com
/metal3-io/baremetal-operator/security/advisories/GHSA-c98h-7hp9-v9hq
web, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-29781
advisory
-
github.com
/metal3-io/baremetal-operator
package
Sources
- CVE List CVE-2025-29781
- GitHub Advisory GHSA-c98h-7hp9-v9hq
- NVD CVE-2025-29781
- OSV GO-2025-3530
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.