{"schemaVersion":3,"id":"CVE-2026-94571","aliases":["UBUNTU-CVE-2026-94571","DEBIAN-CVE-2026-94571"],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-09-21T20:09:16.848Z","modified":"2026-09-22T13:36:39.179Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.4,"severity":"critical","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"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","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":9.4,"severity":"critical","vector":"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","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Ubuntu","score":9.4,"severity":"critical","vector":"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","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"OSV · Debian","score":9.4,"severity":"critical","vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":true},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":9.4,"severity":"critical","vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00534,"percentile":0.43863,"severity":"low","asOf":"2026-10-18T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-09-22T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00534,"percentile":0.43863}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00534,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00534,"percentile":0.43863}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-94","name":"Improper Control of Generation of Code ('Code Injection')","description":"The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/94.html"}],"affected":[{"vendor":"debian","product":"octavia","name":"octavia","label":"octavia","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/octavia","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 18.0.0-4","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 18.0.0-4","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"octavia","name":"octavia","label":"octavia","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/octavia","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 1:10.1.1-0ubuntu1.5","noFixRecorded":false,"fixedIn":null},{"text":"< 1:14.0.0-0ubuntu1.6","noFixRecorded":false,"fixedIn":null},{"text":"< 1:18.0.0-0ubuntu2.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 1:10.1.1-0ubuntu1.5 | < 1:14.0.0-0ubuntu1.6 | < 1:18.0.0-0ubuntu2.1","eol":null,"hubHref":null},{"vendor":"openstack","product":"octavia","name":"octavia","label":"octavia","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 0.8.0, < 16.1.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 17.0.0, < 17.0.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 18.0.0, < 18.0.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.8.0, < 16.1.0 | ≥ 17.0.0, < 17.0.1 | ≥ 18.0.0, < 18.0.1","eol":null,"hubHref":"/vendor/openstack/octavia"}],"affectedCount":3,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://bugs.launchpad.net/octavia/+bug/2162103","label":"bugs.launchpad.net/octavia/+bug/2162103","hostname":"bugs.launchpad.net","tags":["Issue Tracking"]},{"url":"https://bugs.launchpad.net/octavia/+bug/2167565","label":"bugs.launchpad.net/octavia/+bug/2167565","hostname":"bugs.launchpad.net","tags":["Issue Tracking"]},{"url":"https://bugs.debian.org/1148175","label":"bugs.debian.org/1148175","hostname":"bugs.debian.org","tags":["Issue Tracking","REPORT"]},{"url":"https://opendev.org/openstack/octavia/commit/bad7074621562d90a38be4639c1ab3e245f5bf39","label":"opendev.org/openstack/octavia/commit/bad7074621562d90a38be4639c1ab3e245f5bf39","hostname":"opendev.org","tags":["Patch","REPORT"]},{"url":"https://security.openstack.org/ossa/OSSA-2026-039.html","label":"security.openstack.org/ossa/OSSA-2026-039.html","hostname":"security.openstack.org","tags":["Vendor Advisory","REPORT"]},{"url":"https://openwall.com/lists/oss-security/2026/09/21/6","label":"openwall.com/lists/oss-security/2026/09/21/6","hostname":"openwall.com","tags":["Mailing List","REPORT"]},{"url":"https://ubuntu.com/security/CVE-2026-94571","label":"ubuntu.com/security/CVE-2026-94571","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-94571","label":"www.cve.org/CVERecord?id=CVE-2026-94571","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://opendev.org/openstack/octavia/commit/cad62902e4984a46ad80cbfa943e90006d8d599d","label":"opendev.org/openstack/octavia/commit/cad62902e4984a46ad80cbfa943e90006d8d599d","hostname":"opendev.org","tags":["REPORT"]},{"url":"https://ubuntu.com/security/notices/USN-8814-1","label":"ubuntu.com/security/notices/USN-8814-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-94571","label":"security-tracker.debian.org/tracker/CVE-2026-94571","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["USN-8814-1"],"duplicates":[],"related":["USN-8814-1"]},"timeline":[{"kind":"published","date":"2026-09-21T20:09:16.848Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-22T13:36:39.179Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T08:38:41.099Z","stale":false,"partial":false}}