Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project member owning a load balancer
-
DeliveryCraft L7 redirect_url with embedded newlines/directives
-
ExploitBypass RFC 3986 validator via percent-encoding gap
-
ExecutionOctavia writes raw value to amphora HAProxy config
-
PersistInjected HAProxy directives execute on amphora
-
ImpactConfig takeover / code execution on load balancer
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) a deployment using the Amphora provider driver - OVN and other Octavia providers are explicitly NOT affected; (2) Octavia version before 18.0.1; and (3) an authenticated OpenStack project member who owns a load balancer (PR:L). The attacker creates a REDIRECT_TO_URL L7 policy and places control characters (newlines) plus additional HAProxy directives into the redirect_url or redirect_prefix field; the RFC 3986 validator percent-encodes control chars before validation so the payload passes structural checks, but the raw value is written into the generated HAProxy config on the amphora. Limiting factors: valid tenant credentials and ownership of a load balancer are mandatory (no unauthenticated path), and non-Amphora-provider deployments are immune. |
| Impact | This is a genuine high-priority issue, not an inflated CVSS. The vendor CVSS 4.0 base score is 9.4 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H with subsequent-system SC:H/SI:H/SA:H), reflecting that an authenticated, network-adjacent, low-complexity attack lets a legitimate tenant break out of the Octavia control-plane abstraction and inject arbitrary directives into the HAProxy configuration written on the amphora load-balancer instance. CWE-94 (code injection) and the RCE/Code Injection tags are consistent with the mechanism: arbitrary HAProxy directives can plausibly reach command execution on the amphora (e.g. external-check or Lua directives), which is why the subsequent-system impact metrics are all High. The tempering signal is PR:L - this is NOT unauthenticated; the attacker must be an authenticated project member who owns a load balancer, which limits it to insiders or attackers with valid tenant credentials. EPSS is not provided, there is NO CISA KEV listing, and no public exploit code is referenced, so despite the high score there is no evidence of active or automated exploitation yet - treat this as a serious latent risk requiring prompt patching rather than an emergency in-the-wild event. One caveat: the input provides only a CVSS 4.0 vector (no 3.1), so cross-framework severity comparison relies on the 4.0 vector alone. |
| Exploit ScenarioDerived | An authenticated OpenStack tenant who owns a load balancer creates a REDIRECT_TO_URL L7 policy whose redirect_url or redirect_prefix field contains embedded newlines and additional HAProxy directives. Because the RFC 3986 validator percent-encodes control characters before checking structure, the malicious newline passes validation, but Octavia writes the raw unencoded value into the HAProxy config generated on the amphora, causing the injected directives to be executed by the load balancer. No public exploit code is identified at time of analysis, though the disclosure (OSSA-2026-039 and oss-security post) describes the mechanism in detail. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Authenticated OpenStack project members who own a load balancer can inject arbitrary HAProxy directives into the amphora configuration produced by Octavia before 18.0.1, because the Amphora provider driver fails to reject control characters in L7 policy redirect_url and redirect_prefix fields. The RFC 3986 URL validator percent-encodes control characters before validating, so newline-bearing payloads pass structural checks, but the raw value is stored and written verbatim into the generated HAProxy config - yielding code/directive injection with high confidentiality, integrity, and availability impact on the amphora and the traffic it proxies. Exploitation requires valid tenant credentials plus ownership of a load balancer (CVSS PR:L, unauthenticated paths do not exist), and only Amphora-provider deployments are affected; OVN and other Octavia providers are explicitly immune. No public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV, though the assessment rates it a genuine high-priority problem rather than an inflated score.
RemediationAI
Upgrade OpenStack Octavia to 18.0.1 or later (vendor-released patch; upstream fix commit bad7074621562d90a38be4639c1ab3e245f5bf39) and restart the Octavia API/worker services so that configuration generation is refreshed; see OSSA-2026-039 at https://security.openstack.org/ossa/OSSA-2026-039.html and Debian bug 1148175 for distribution-specific package versions. After upgrading, audit existing REDIRECT_TO_URL L7 policies for embedded control characters or unexpected newlines and recreate any that appear tampered with, since already-written amphora configs are not automatically rewritten by the fix. Where immediate upgrading is not possible, switch affected load balancers to a non-Amphora provider such as OVN, which is not vulnerable, at the cost of losing Amphora-specific features and requiring load balancer re-provisioning; alternatively, tighten Octavia RBAC policy so that only trusted roles may create or modify l7policy resources (this reduces the attack surface to trusted operators but does not fix the underlying injection), and/or add an external validation layer that rejects control characters in redirect_url and redirect_prefix before they reach Octavia. No public exploit code has been identified at time of analysis, and no CISA KEV listing exists, so prioritization should be driven by exposure of the Amphora provider to multi-tenant project members rather than by observed exploitation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Octavia is OpenStack's load-balancing-as-a-service project; its Amphora provider driver provisions HAProxy-based amphora instances and renders their configuration from API objects. L7 policies of type REDIRECT_TO_URL accept redirect_url and redirect_prefix strings that are meant to be valid RFC 3986 URLs. The root cause, classified CWE-94 (Improper Control of Generation of Code), is a validation/normalization mismatch: the URL validator percent-encodes control characters prior to its checks, so embedded newlines satisfy structural validation, yet the unencoded/raw value is persisted in the Octavia database and later templated directly into the HAProxy configuration file on the amphora. Newlines are significant in HAProxy's line-oriented config format, so an attacker-supplied value can terminate the intended redirect directive and introduce additional directives, effectively controlling generated code on the load balancer. The affected CPE is cpe:2.3:a:openstack:octavia:*:*:*:*:*:*:*:*, i.e. all releases before 18.0.1; the flaw is confined to the Amphora provider code path.
Know when Openstack gets its next vulnerability
- 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
Sources disagree (Medium–Critical)CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Network API access with valid tenant creds (PR:L), low complexity; injection from the control-plane API into a separate amphora instance is a scope change (S:C) with full impact on that load balancer.
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: mitre
DescriptionCVE.org
In OpenStack Octavia before 18.0.1, the Amphora provider driver did not reject control characters in the L7 policy redirect_url and redirect_prefix fields. The RFC 3986 URL validator percent-encodes control characters before validating, and thus newlines passed structural checks, but Octavia stored and wrote the raw unencoded value directly into the HAProxy configuration generated on the amphora. An authenticated project member who owns a load balancer can therefore inject arbitrary HAProxy directives through a REDIRECT_TO_URL L7 policy. Only deployments using the Amphora provider are affected.
Articles & Coverage 1
Executive ViewAI
OpenStack Octavia deployments using the Amphora provider are affected by a critical vulnerability that allows authenticated tenants with load balancer ownership to inject arbitrary HAProxy configuration directives. This could enable a malicious or compromised tenant to intercept, alter, or disrupt traffic managed by the load balancer, undermining the confidentiality, integrity, and availability of services and potentially affecting other tenants in a multi-tenant cloud environment. Leadership should prioritize remediation because exploitation requires only valid tenant credentials, which are commonly distributed, and the impact could damage customer trust and regulatory compliance.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Oracle MySQL through 5.5.52, 5.6.x through 5.6.33, and 5.7.x through 5.7.15; MariaDB before 5.5.51, 10.0.x before 10.0.2
Eval injection vulnerability in the create method in the Bookmarks controller in Foreman before 1.2.0-RC2 allows remote
The create method in app/controllers/users_controller.rb in Foreman before 1.2.0-RC2 allows remote authenticated users w
Systems with microprocessors utilizing speculative execution and speculative execution of memory reads before the addres
The Floppy Disk Controller (FDC) in QEMU, as used in Xen 4.5.x and earlier and KVM, allows local guest users to cause a
Memory Corruption was discovered in the cmsgpack library in the Lua subsystem in Redis before 3.2.12, 4.x before 4.0.10,
The IPTables firewall in OpenStack Neutron before 7.0.4 and 8.0.0 through 8.1.0 allows remote attackers to bypass an int
An issue in OpenStack magnum yoga-eom version allows a remote attacker to execute arbitrary code via the cert_manager.py
An Integer Overflow issue was discovered in the struct library in the Lua subsystem in Redis before 3.2.12, 4.x before 4
glibc contains a vulnerability that allows specially crafted LD_LIBRARY_PATH values to manipulate the heap/stack, causin
Buffer overflow in the pcnet_receive function in hw/net/pcnet.c in QEMU, when a guest NIC has a larger MTU, allows remot
Code injection in OpenStack Vitrage query parser allows authenticated users to execute arbitrary Python code through cra
EUVD-2026-84116
GHSA-33h9-ppgm-5785
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB