Skip to content
Heist/ feed
Back to feed
High

L7 policy bypass via unnormalized HTTP path matching

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-6540
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 19:31 UTC · Revision 1

Source evidence

L7 policy bypass via unnormalized HTTP path matching

core-osv · Original source

Published 30 Jul 2026, 14:45 UTC

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.

osv:CVE-2026-6540
Complete source record
{
  "id": "98cb4200decdb10a8a9c09fd8db83561dd6d4e149a00b45339e6500e85a03adb",
  "url": "https://osv.dev/vulnerability/CVE-2026-6540",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "L7 policy bypass via unnormalized HTTP path matching",
    "summary": "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.",
    "evidence": "osv:CVE-2026-6540",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-6540",
      "aliases": [
        "CVE-2026-6540"
      ],
      "metrics": [
        {
          "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/projectcalico/calico",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "cc4364f81fbb6dc6fe6e140456c98169dac99f1c"
                },
                {
                  "introduced": "a86e41d021c4c60e1f73d8dce396fe249d708cc7"
                },
                {
                  "fixed": "a0e92905ed405c469494cf818821373e0c44d64c"
                },
                {
                  "introduced": "eb1cf57823a1dd8d25c48b82fd023ea9e3e17996"
                },
                {
                  "fixed": "0ca9d1b93644778cafdf1812f3dda02ac0c361e8"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:tigera:calico:*:*:*:*:open_source:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.31.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:tigera:calico:*:*:*:*:enterprise:*:*:*",
                    "range": [
                      {
                        "introduced": "3.22.0"
                      },
                      {
                        "fixed": "3.22.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:tigera:calico:*:*:*:*:open_source:*:*:*",
                    "range": [
                      {
                        "introduced": "3.32.0"
                      },
                      {
                        "fixed": "3.32.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.32.0",
            "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"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.860303842Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/6xxx/CVE-2026-6540.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-6540",
        "https://www.tigera.io/security-bulletins/tta-2026-005/",
        "https://github.com/projectcalico/calico/pull/12531",
        "https://github.com/projectcalico/calico/pull/12532",
        "https://github.com/projectcalico/calico/pull/12533"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22",
          "CWE-23"
        ],
        "cna_assigner": "Tigera",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "fixed": "3.21.7"
                  },
                  {
                    "fixed": "22.4.0"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/6xxx/CVE-2026-6540.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-6540",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 506202,
  "published_at": "2026-07-30T14:45:04.068+00:00"
}