CVE-2026-26205: Github.com/open policy agent/opa envoy plugin Opa-envoy-plugin Has An Authorization Bypass Vulnerability
HIGHCVE-2026-26205 is a HIGH opa-envoy-plugin has an authorization bypass vulnerability (CWE-863: Incorrect Authorization) affecting Github.com/open policy agent/opa envoy plugin libraries in the Go ecosystem. The issue involves opa-envoy-plugin has an authorization bypass via double-slash path misinterpretation in input.parsed_path. Remediation is available by upgrading affected packages to version 1.13.2-envoy-2.
CVE-2026-26205 at a Glance
How to Fix CVE-2026-26205
To remediate this vulnerability, upgrade all affected Github.com/open policy agent/opa envoy plugin dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/open-policy-agent/opa-envoy-plugin to 1.13.2-envoy-2
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/open-policy-agent/opa-envoy-plugin
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-26205, inspect your project dependencies for Github.com/open policy agent/opa envoy plugin:
inspect dependencies for github.com/open-policy-agent/opa-envoy-plugin
Analyze the terminal output to locate any version of Github.com/open policy agent/opa envoy plugin in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.13.2-envoy-2), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-863: Incorrect Authorization, where the product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. In Github.com/open policy agent/opa envoy plugin, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-26205 Affected Github.com/open policy agent/opa envoy plugin Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/open-policy-agent/opa-envoy-plugin
|
Go |
< 1.13.2-envoy-2
|
1.13.2-envoy-2
|
References
Frequently Asked Questions
What is CVE-2026-26205?
Which Github.com/open policy agent/opa envoy plugin versions are affected?
What version fixes CVE-2026-26205?
Is github.com/open-policy-agent/opa-envoy-plugin affected?
What CWE is associated with CVE-2026-26205?
How can I check Go dependencies for CVE-2026-26205?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-9f29-v6mm-pw6w",
"modified" : "2026-02-19T21:56:34Z",
"published" : "2026-02-18T15:25:04Z",
"aliases" : [ "CVE-2026-26205" ],
"summary" : "opa-envoy-plugin has an Authorization Bypass via Double-Slash Path Misinterpretation in input.parsed_path",
"details" : "A security vulnerability has been discovered in how the `input.parsed_path` field is constructed. HTTP request paths are treated as full URIs when parsed; interpreting leading path segments prefixed with double slashes (`//`) as [authority](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2) components, and therefore dropping them from the parsed path. This creates a path interpretation mismatch between authorization policies and backend servers, enabling attackers to bypass access controls by crafting requests where the authorization filter evaluates a different path than the one ultimately served.\n\n#### Attack example\n\n**HTTP request:**\n\n```\nGET //admin/users HTTP/1.1\nHost: example.com\n```\n\n**Policy sees:**\n\nThe leading `//admin` path segment is interpreted as an authority component, and dropped from `input.parsed_path` field:\n\n\n```json\n{\n \"parsed_path\": [\"users\"]\n}\n```\n\n**Backend receives:**\n\n`//admin/users` path, normalized to `/admin/users`.\n\n#### Affected Request Pattern Examples\n\n| Request path | `input.parsed_path` | `input.attributes.request.http.path` | Discrepancy |\n| - | - | - | - |\n| / | [\"\"] | / | ✅ None |\n| //foo | [\"\"] | //foo| ❌ Mismatch |\n| /admin | [\"admin\"] | /admin | ✅ None |\n| /admin/users | [\"admin\", \"users\"] | /admin/users | ✅ None |\n| //admin/users | [\"users\"] | //admin/users | ❌ Mismatch |\n\n### Impact\n\nUsers are impacted if all the following conditions apply:\n\n1. Protected resources are path-hierarchical (e.g., `/admin/users` vs `/users`)\n2. Authorization policies use `input.parsed_path` for path-based decisions\n3. Backend servers apply lenient path normalization\n\n### Patches\n\nGo: `v1.13.2-envoy-2`\nDocker: `1.13.2-envoy-2`, `1.13.2-envoy-2-static`\n\n### Workarounds\n\nUsers who cannot immediately upgrade opa-envoy-plugin are recommended to apply one, or more, of the workarrounds described below.\n\n#### 1. Enable the `merge_slashes` Envoy configuration option\n\nAs per [Envoy best practices](https://www.envoyproxy.io/docs/envoy/v1.37.0/configuration/best_practices/edge.html), enabling the [merge_slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes) configuration option in Envoy will remove redundant slashes from the request path before filtering is applied, effectively mitigating the `input.parsed_path` issue described in this advisory.\n\n\n#### 2. Use `input.attributes.request.http.path` instead of `input.parsed_path` in policies\n\nThe `input.attributes.request.http.path` field contains the unprocessed, raw request path. Users are recommended to update any policy using `input.parsed_path` to instead use the `input.attributes.request.http.path` field.\n\n##### Example ####\n\n```rego\npackage example\n\n# Use instead of input.parsed_path\nparsed_path := split( # tokenize into array\n\ttrim_left( # drop leading slashes\n\t\turlquery.decode(input.attributes.request.http.path), # url-decode the path\n\t\t\"/\",\n\t),\n\t\"/\",\n)\n```",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/open-policy-agent/opa-envoy-plugin"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.13.2-envoy-2"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 1.13.1-envoy"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/open-policy-agent/opa-envoy-plugin/security/advisories/GHSA-9f29-v6mm-pw6w"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-26205"
}, {
"type" : "WEB",
"url" : "https://github.com/open-policy-agent/opa-envoy-plugin/commit/58c44d4ec408d5852d1d0287599e7d5c5e2bc5c3"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/open-policy-agent/opa-envoy-plugin"
}, {
"type" : "WEB",
"url" : "https://github.com/open-policy-agent/opa-envoy-plugin/releases/tag/v1.13.2-envoy-2"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-863" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-02-18T15:25:04Z",
"nvd_published_at" : "2026-02-19T20:25:43Z"
}
}