CVE-2026-94571

Description

A flaw was found in OpenStack Octavia. An authenticated user who can create or update L7 policies on their own load balancer can inject arbitrary HAProxy configuration directives through the redirect_url or redirect_prefix fields. The URL validator does not reject control characters such as tabs and newlines, and the raw input is written directly into the HAProxy configuration file on the Amphora VM. This can be used to change redirect behavior and, by injecting HAProxy program directives, to run commands on the Amphora.

Statement

This vulnerability is rated as Moderate. An authenticated project member can inject HAProxy configuration through the redirect_url or redirect_prefix fields on their own load balancer. On Red Hat OpenStack Platform Amphora images, SELinux enforcing prevents an injected program from executing, and HAProxy does not remain running with that configuration, so there is no confidentiality or integrity impact. The availability impact is Low because the disruption is limited to that tenant's load balancer and does not affect other tenants. It is not rated Important because the attacker cannot run commands as root and cannot reach other tenants' load balancers. Amphorae are single-tenant by design. Red Hat OpenStack Platform deployments that use the Amphora provider for Octavia are affected. Deployments that use the OVN provider are not affected because they do not generate HAProxy configuration files.

Mitigation

There is no complete mitigation for Amphora-based deployments other than restricting who can create or update L7 policies. Operators can tighten Octavia oslo.policy so that load-balancer:write, or L7 policy create and update, is limited to trusted users. If L7 redirects are not required, deny L7 policy create and update. Deployments using the OVN provider instead of Amphora are not affected.

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 Score5N/AN/A
Attack VectorNetworkN/AN/A
Attack ComplexityLowN/AN/A
Privileges RequiredLowN/AN/A
User InteractionNoneN/AN/A
ScopeChangedN/AN/A
ConfidentialityNoneN/AN/A
Integrity ImpactNoneN/AN/A
Availability ImpactLowN/AN/A

Vector

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

Red Hat CVSS v3 Score Explanation

RH CVSS 3.1 5.0 (Medium). Octavia maintainer confirmed on an enforcing Amphora that SELinux denies the injected program and HAProxy does not remain running, so confidentiality and integrity are None. Availability is Low because the disruption is limited to that tenant's load balancer. Scope stays Changed because the Octavia API and the Amphora are separate authorities.

Understanding the Weakness (CWE)

Access Control

Technical Impact: Bypass Protection Mechanism

In some cases, injectable code controls authentication; this may lead to a remote vulnerability.

Access Control

Technical Impact: Gain Privileges or Assume Identity

Injected code can access resources that the attacker is directly prevented from accessing.

Integrity,Confidentiality,Availability

Technical Impact: Execute Unauthorized Code or Commands

When a product allows a user's input to contain code syntax, it might be possible for an attacker to craft the code in such a way that it will alter the intended control flow of the product. As a result, code injection can often result in the execution of arbitrary code. Code injection attacks can also lead to loss of data integrity in nearly all cases, since the control-plane data injected is always incidental to data recall or writing.

Non-Repudiation

Technical Impact: Hide Activities

Often the actions performed by injected control code are unlogged.

Frequently Asked Questions

Want to get errata notifications? Sign up here.