Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-18618

CVE-2026-18618: ml-metadata gRPC HTTP/2 DoS Vulnerability

CVE-2026-18618 is a denial of service flaw in ml-metadata caused by an outdated gRPC stack vulnerable to HTTP/2 attacks. Attackers can crash MLMD pods and disrupt pipeline runs. This article covers technical details, impact, and mitigation.

Published:

CVE-2026-18618 Overview

A flaw was discovered in ml-metadata (MLMD), the metadata store used by machine learning pipeline platforms such as Kubeflow. The statically-linked gRPC stack bundled with ml-metadata is outdated and inherits known HTTP/2 denial of service vulnerabilities. An attacker with in-cluster network access to the MLMD pod can send specially crafted HTTP/2 requests to crash the service. The resulting outage disrupts all pipeline runs in the affected namespace, breaking training, evaluation, and deployment workflows that depend on metadata tracking. The weakness is classified under CWE-770: Allocation of Resources Without Limits or Throttling.

Critical Impact

An in-cluster attacker can crash the MLMD pod with crafted HTTP/2 traffic, halting every ML pipeline in the affected namespace.

Affected Products

  • Red Hat OpenShift AI distributions bundling ml-metadata
  • Kubeflow Pipelines deployments using the MLMD gRPC service
  • Any container image statically linking the outdated gRPC stack in ml-metadata

Discovery Timeline

  • 2026-08-10 - CVE-2026-18618 published to NVD
  • 2026-08-11 - Last updated in NVD database

Technical Details for CVE-2026-18618

Vulnerability Analysis

The ml-metadata project exposes a gRPC API over HTTP/2 for storing and retrieving ML pipeline metadata such as artifacts, executions, and lineage. The service statically links its gRPC dependency at build time. Because that dependency has not been refreshed, ml-metadata carries known HTTP/2 protocol flaws that were already patched upstream in newer gRPC releases.

HTTP/2 flaws in this class, including Rapid Reset and MadeYouReset-style abuses, allow a client to force a server to allocate resources for streams that are cancelled or manipulated before completion. The server continues to spend CPU and memory on stream state, header decompression, and request dispatch. Sustained crafted traffic exhausts the pod's resource budget and terminates the process.

Because MLMD is a singleton dependency for pipeline orchestration, its termination cascades into every workflow that reads or writes metadata in the namespace.

Root Cause

The root cause is a supply chain issue: a statically-linked, out-of-date gRPC stack. The bundled library predates the fixes for HTTP/2 stream lifecycle abuses, and the resource management in that older code does not throttle or bound the impact of malicious stream churn, matching the CWE-770 pattern.

Attack Vector

Exploitation requires network reachability to the MLMD pod. In typical Kubeflow or OpenShift AI deployments, MLMD is exposed as an internal ClusterIP service reachable from other pods in the same namespace or cluster. An attacker who already has a foothold in a workload, a compromised notebook container, or lateral movement within the cluster network can open an HTTP/2 connection and issue crafted stream sequences that consume server resources until the pod crashes.

No authentication or user interaction is required against the MLMD endpoint itself. The impact is limited to availability; the vulnerability does not enable data disclosure or tampering.

Detection Methods for CVE-2026-18618

Indicators of Compromise

  • Repeated MLMD pod restarts or OOMKilled and CrashLoopBackOff states in the namespace hosting pipelines
  • Sudden spikes in HTTP/2 RST_STREAM frames or aborted streams toward the MLMD service port
  • Pipeline run failures with gRPC UNAVAILABLE or connection reset errors originating from MLMD clients

Detection Strategies

  • Correlate Kubernetes pod restart events for the MLMD deployment with network flow logs targeting its service port
  • Inspect gRPC server logs for bursts of short-lived streams, cancelled requests, or HTTP/2 protocol errors
  • Baseline normal request rates against the MLMD service and alert on deviations in stream open/close ratios

Monitoring Recommendations

  • Enable Kubernetes audit logs and container runtime telemetry on nodes hosting MLMD workloads
  • Ship gRPC and ingress logs to a centralized analytics platform with retention sufficient for post-incident review
  • Track pod-level CPU, memory, and goroutine counts for the MLMD container and alert on saturation events

How to Mitigate CVE-2026-18618

Immediate Actions Required

  • Apply vendor updates that rebuild ml-metadata against a patched gRPC release addressing the HTTP/2 DoS class
  • Restrict network access to the MLMD service using NetworkPolicies so only trusted pipeline components can reach it
  • Enforce authentication and mTLS in front of the MLMD gRPC endpoint where the platform supports it

Patch Information

Red Hat has published fixes and analysis in RHSA-2026:53261, RHSA-2026:53262, and RHSA-2026:53263. Additional detail is available in the Red Hat CVE analysis for CVE-2026-18618 and Bug #2510313. Update affected container images to the versions listed in those advisories.

Workarounds

  • Place a hardened HTTP/2-aware proxy such as Envoy in front of MLMD with strict stream and concurrency limits
  • Apply Kubernetes NetworkPolicy rules to allow only known pipeline controllers to open connections to MLMD
  • Set container resource limits and liveness probes so a crashed MLMD pod is restarted quickly while patches are staged
bash
# Example NetworkPolicy restricting MLMD ingress to trusted pipeline pods
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: mlmd-restrict-ingress
  namespace: kubeflow
spec:
  podSelector:
    matchLabels:
      app: metadata-grpc-server
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          pipelines.kubeflow.org/trusted-client: "true"
    ports:
    - protocol: TCP
      port: 8080
EOF

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.