{"id":"CVE-2026-6540","summary":"L7 policy bypass via unnormalized HTTP path matching","details":"Calico's Application Layer Policy (disabled by default), which enforces HTTP rules through Dikastes, fails to perform URL path normalization. As a result, HTTP requests using path-traversal segments, encoded slashes, or repeated slashes are not correctly evaluated by Prefix path rules. Dikastes authorizes the request under the permitted prefix while the downstream workload or a fronting proxy normalizes the path and serves the restricted endpoint. An attacker with network access and no special RBAC can potentially reach HTTP endpoints the policy was intended to restrict.","modified":"2026-08-01T03:47:22.053149032Z","published":"2026-07-30T14:45:04.068Z","database_specific":{"cna_assigner":"Tigera","cwe_ids":["CWE-22","CWE-23"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/6xxx/CVE-2026-6540.json","unresolved_ranges":[{"extracted_events":[{"fixed":"3.21.7"},{"fixed":"22.4.0"}],"source":"AFFECTED_FIELD"}]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/6xxx/CVE-2026-6540.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-6540"},{"type":"ADVISORY","url":"https://www.tigera.io/security-bulletins/tta-2026-005/"},{"type":"FIX","url":"https://github.com/projectcalico/calico/pull/12531"},{"type":"FIX","url":"https://github.com/projectcalico/calico/pull/12532"},{"type":"FIX","url":"https://github.com/projectcalico/calico/pull/12533"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/projectcalico/calico","events":[{"introduced":"0"},{"fixed":"cc4364f81fbb6dc6fe6e140456c98169dac99f1c"},{"introduced":"a86e41d021c4c60e1f73d8dce396fe249d708cc7"},{"fixed":"a0e92905ed405c469494cf818821373e0c44d64c"}],"database_specific":{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"0"},{"fixed":"3.31.6"},{"introduced":"3.22.0"},{"fixed":"3.22.4"}]}}],"versions":["v3.31.1","v3.31.0-0.dev","v3.30.0-0.dev","v3.29.0-0.dev","v3.28.0-0.dev","v3.27.0-0.dev","v3.25.0-0.dev","v3.22.3-0.dev","v3.24.0-0.dev","v3.18.5-calico","v3.18.5","v3.17.5-calico","v3.17.5","v3.18.1-calico","v3.18.1","v3.16.5-calico","v3.16.5","v3.16.0-calico","v3.16.0","v3.11.1-calico","v3.11.1","v3.9.4-calico","v3.9.4","v3.8.5-calico","v3.8.5","v3.10.2-calico","v3.10.2","v3.10.0-calico","v3.10.0","v3.9.0-calico","v3.9.0","v3.3.7-calico","v3.3.7","v3.2.8-calico","v3.2.8","v3.1.7-calico","v3.1.7","v3.0.12-calico","v3.0.12","v3.2.0-calico","v3.2.0","v3.0.1-calico","v3.0.1","v3.0.0-calico","v3.0.0","v2.6.2-calico","v2.6.2","v3.0.0-alpha1-rc1-calico","v3.0.0-alpha1-rc1","v2.6.0-calico","v2.6.0","v2.6.0-rc2-calico","v2.6.0-rc2","v2.6.0-rc1-calico","v2.6.0-rc1","v2.5.0-calico","v2.5.0","v2.5.0-rc2-calico","v2.5.0-rc2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-6540.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:L"}]}