Skip to main content

Metal3 IPAM EUVDEUVD-2026-36463

| CVE-2026-47190 MEDIUM
Execution with Unnecessary Privileges (CWE-250)
2026-05-29 https://github.com/metal3-io/ip-address-manager GHSA-49pm-43hf-6xfq
4.4
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise controller pod (supply chain or escape)
  2. Delivery
    Retrieve mounted service account token
  3. Exploit
    Authenticate to Kubernetes API
  4. Execution
    List and read Secrets in namespace
  5. Impact
    Exfiltrate credentials and certificates

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V8 - Authorization Unnecessary privilege execution
Exploitation Conditions

Exploitation requires the attacker to have already achieved code execution within the metal3-ipam-controller-manager pod - for example via a supply chain compromise of the ip-address-manager binary or a container escape from an adjacent pod on the same node. No special configuration of the IPAM controller is required beyond the default deployment, since the overly permissive ClusterRole is shipped as the default in all affected versions. Exploitation is bounded by Kubernetes namespace scope: the attacker can access Secrets only within the namespace where the controller is deployed, not cluster-wide across all namespaces. CVSS PR:H confirms authentication-equivalent access (service account token) is a prerequisite; CVSS AC:H confirms the prior compromise step adds meaningful complexity. Defenders can assess realistic exposure by auditing how many sensitive Secrets co-exist in the IPAM controller's namespace.

Impact

The CVSS 4.4 Medium score is appropriate for the vulnerability's nature as a privilege-amplification risk rather than a direct-exploitation path. The CVSS vector AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N reflects that exploitation requires high privilege (PR:H - the attacker must already control the controller pod) and high complexity (AC:H - container escape or supply chain compromise is a prerequisite). The C:H impact score is well-justified: full read access to cluster Secrets can expose service account tokens, TLS certificates, and other credentials. No EPSS data is provided, no CISA KEV listing, and no public exploit code has been identified, placing this in a realistic 'low urgency but meaningful blast-radius risk' category. The primary threat model is defense-in-depth failure: this vulnerability does not enable initial access but meaningfully expands attacker capability post-compromise. Teams running IPAM in high-value clusters alongside sensitive Secrets should treat this as higher priority than the raw CVSS score suggests.

Exploit ScenarioDerived

An attacker compromises the IPAM controller pod - for example, by injecting a malicious dependency via a supply chain attack against the Go module, or by escaping a co-located container on the same Kubernetes node. Once code execution is achieved within the controller pod, the attacker uses the mounted service account token to call the Kubernetes API, invoking list and get on Secrets in the namespace to harvest credentials, certificates, and tokens used by other cluster components. No public proof-of-concept code exists for this specific CVE; exploitation relies on the attacker first achieving pod-level code execution through a separate vector.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 29, 2026

Excessive RBAC permissions in the Metal3 ip-address-manager (IPAM) controller's ClusterRole expose Kubernetes Secrets to post-compromise abuse. The metal3-ipam-controller-manager-role granted full CRUD on core/v1 Secrets - yet PR diff evidence confirms the controller never accesses Secrets in normal operation, making these permissions entirely unnecessary. If the controller pod is compromised via a supply chain attack or container escape, an attacker inheriting the controller's service account token can read, modify, or delete any Secret in the namespace, turning a narrow container compromise into cluster-wide credential exfiltration. No public exploit exists and no CISA KEV listing, but the confidentiality impact is rated High (C:H) by NVD.

RemediationAI

Upgrade to the patched release matching your current branch: v1.11.7 (backport via PR #1357), v1.12.4 (backport via PR #1356), or v1.13.0 (main branch via PR #1355). These releases remove the Secrets CRUD rules block from role.yaml entirely and strip the dead Secret cache configuration from main.go. If an immediate upgrade is not possible, apply the documented workaround by manually editing the metal3-ipam-controller-manager-role ClusterRole to delete the entire block granting verbs on the 'secrets' resource - this can be done with kubectl edit clusterrole metal3-ipam-controller-manager-role with no operational impact, since the controller does not use these permissions in normal operation. The workaround has no functional side effects. Advisory and patch PRs are at https://github.com/metal3-io/ip-address-manager/security/advisories/GHSA-49pm-43hf-6xfq.

Affected VersionsENISA

ip-address-manager < 1.13.0
ip-address-manager < 1.12.4
ip-address-manager < 1.11.7

Affected Packages

go github.com/metal3-io/ip-address-manager fix: 1.11.7, 1.12.4
euvd ip_address_manager fix: 1.11.7, 1.12.4, 1.13.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-250 (Execution with Unnecessary Privileges) describes the root cause: a Kubernetes ClusterRole assigned more permissions than the workload requires. The affected package is pkg:go/github.com/metal3-io/ip-address-manager, the IPAM controller for Cluster API Provider Metal3 - a bare-metal Kubernetes provisioning framework. The role.yaml ClusterRole contained a full CRUD rules block (verbs: create, delete, get, list, patch, update, watch) on core/v1 Secrets. The PR diff (pull/1355) removes both the RBAC annotation in ippool_controller.go and a now-dead Secret cache configuration from main.go that had previously referenced a clusterSecretCacheSelector, suggesting this permission was a vestige of a removed feature rather than an oversight in new code. Kubernetes RBAC operates at the namespace boundary by default, so all Secrets within the deployment namespace are accessible under this ClusterRole.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 4.4 MEDIUM
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N
SUSE MEDIUM
Red Hat 6.4 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionNVD

Impact

IPAM is the IP address Manager for Cluster API Provider Metal3. The IPAM controller's ClusterRole granted full CRUD permissions (create, delete, get, list, patch, update, watch) on core/v1 Secrets. The controller never accesses Secrets during normal operation. If the controller pod were compromised (e.g. via supply chain attack or container escape), an attacker could leverage these excessive permissions to read, modify, or delete Secrets in the namespace, potentially exposing credentials and other sensitive data.

All users running ip-address-manager versions prior to the patched releases are affected.

Patches

Fixed in:

  • v1.11.7
  • v1.12.4
  • v1.13.0

Users should upgrade to the patched version for their release branch.

Workarounds

Manually remove the Secrets resource entry from the metal3-ipam-controller-manager-role ClusterRole:

yaml
# Remove this entire block from the ClusterRole
- apiGroups:
  - ""
  resources:
  - secrets
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch

Resources

  • https://github.com/metal3-io/ip-address-manager/pull/1355
  • https://github.com/metal3-io/ip-address-manager/pull/1356 (backport to release-1.12)
  • https://github.com/metal3-io/ip-address-manager/pull/1357 (backport to release-1.11)

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy