CVE-2026-117574

Description

A flaw was found in ai-gateway-payload-processing. An authenticated remote attacker can exploit this vulnerability by submitting a request specifying another tenant's model identifier in the request body or header. Because the service does not verify authorization before retrieving credentials from the shared store, it injects the target tenant's application programming interface (API) keys into the request. This flaw allows an attacker to perform unauthorized requests and consume another tenant's large language model (LLM) resources and quotas.

Statement

This vulnerability is rated as Important because an authenticated user in a multi-tenant Red Hat OpenShift AI environment can bypass tenant boundaries and trigger unauthorized credential injection. By supplying another tenant's model identifier during gateway requests, a caller can leverage provider credentials and consume compute quotas assigned to a different project. The flaw requires valid user credentials to interact with the model serving gateway, limiting unauthenticated remote exploitation.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score9.1N/A9.1
Attack VectorNetworkN/ANetwork
Attack ComplexityLowN/ALow
Privileges RequiredLowN/ALow
User InteractionNoneN/ANone
ScopeChangedN/AChanged
ConfidentialityHighN/AHigh
Integrity ImpactLowN/ALow
Availability ImpactLowN/ALow

Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L

cve.org: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L

Red Hat CVSS v3 Score Explanation

Score re-evaluated 2026-10-27 after confirming the vulnerable mechanism changed but was not fixed. The path-based lookup (segments[0]/[1]) originally described was removed in commit bac9fb5, but credential selection now resolves purely from the client-supplied body model field / x-gateway-model-name header, via a flat cluster-wide model-name map with still no in-process identity check. Unlike the original finding, this requires no Kuadrant AuthPolicy misconfiguration or direct ext_proc port access: AuthPolicy/subscription validation in models-as-a-service derives model identity from the URL path, while credential injection in ai-gateway-payload-processing uses the body/header model field, so an authenticated caller for their own tenant path can simply put a different tenant model name in the body and get that tenant credentials injected, deterministically. AC lowered from H to L accordingly. AV:N (in-cluster ext_proc gRPC port). PR:L (authenticated caller for tenant A). S:C (crosses tenant security boundary). C:H (tenant B cloud provider API key injection).

Understanding the Weakness (CWE)

Access Control

Technical Impact: Bypass Protection Mechanism

Access control checks for specific user data or functionality can be bypassed.

Access Control

Technical Impact: Gain Privileges or Assume Identity

Horizontal escalation of privilege is possible (one user can view/modify information of another user).

Access Control

Technical Impact: Gain Privileges or Assume Identity

Vertical escalation of privilege is possible if the user-controlled key is actually a flag that indicates administrator status, allowing the attacker to gain administrative access.

Frequently Asked Questions

Want to get errata notifications? Sign up here.