Skip to content
Heist/ feed
Back to feed
Medium

Vendure: Shop API list queries can return non-public entities when filterOperator is OR

Type: advisorySources: OSV

Vendure is an open-source headless commerce platform. Prior to 3.6.5, the public Shop API products, collections, and facets queries combine mandatory visibility guards with caller-supplied filters using the caller-controlled filterOperator. When filterOperator is OR, a predicate matching a hidden entity can bypass the Product.enabled, Collection.isPrivate, or Facet.isPrivate guard. An unauthenticated caller can therefore retrieve disabled products and private collections or facets. This issue is fixed in version 3.6.5.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-63461
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 09:43 UTC · Revision 1

Source evidence

Vendure: Shop API list queries can return non-public entities when filterOperator is OR

core-osv · Original source

Published 17 Sept 2026, 14:43 UTC

Vendure is an open-source headless commerce platform. Prior to 3.6.5, the public Shop API products, collections, and facets queries combine mandatory visibility guards with caller-supplied filters using the caller-controlled filterOperator. When filterOperator is OR, a predicate matching a hidden entity can bypass the Product.enabled, Collection.isPrivate, or Facet.isPrivate guard. An unauthenticated caller can therefore retrieve disabled products and private collections or facets. This issue is fixed in version 3.6.5.

osv:CVE-2026-63461
Complete source record
{
  "id": "fda48bcea22c028c46c9f246f29cbcbe92911e53df4131e34f130825d6db9153",
  "url": "https://osv.dev/vulnerability/CVE-2026-63461",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Vendure: Shop API list queries can return non-public entities when filterOperator is OR",
    "summary": "Vendure is an open-source headless commerce platform. Prior to 3.6.5, the public Shop API products, collections, and facets queries combine mandatory visibility guards with caller-supplied filters using the caller-controlled filterOperator. When filterOperator is OR, a predicate matching a hidden entity can bypass the Product.enabled, Collection.isPrivate, or Facet.isPrivate guard. An unauthenticated caller can therefore retrieve disabled products and private collections or facets. This issue is fixed in version 3.6.5.",
    "evidence": "osv:CVE-2026-63461",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-63461",
      "aliases": [
        "CVE-2026-63461",
        "GHSA-xf65-r35x-wmmv"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/vendurehq/vendure",
              "type": "GIT",
              "events": [
                {
                  "introduced": "033fb5785e8d23dab5c0002f4e6e95d502da3caf"
                },
                {
                  "fixed": "ceb0705be869c1b84f6796c8e7bdc56faa33c064"
                },
                {
                  "fixed": "6daf5cb8571321eb6c6afa1d8e95a390c060be02"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "1.0.0"
                      },
                      {
                        "fixed": "3.6.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "6daf5cb8571321eb6c6afa1d8e95a390c060be02"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "ceb0705be869c1b84f6796c8e7bdc56faa33c064"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v3.6.5"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.6.4",
            "v3.6.3",
            "v3.6.2",
            "v3.6.1",
            "v3.5.0",
            "v3.4.2",
            "v3.4.1",
            "v3.4.0",
            "v3.3.8",
            "v3.3.7",
            "v3.3.6",
            "v3.3.5",
            "v3.3.4",
            "v3.3.3",
            "v3.3.2",
            "v3.3.1",
            "v3.3.0",
            "v3.2.2",
            "v3.2.1",
            "v3.2.0",
            "v3.0.5",
            "v3.0.4",
            "v3.0.3",
            "v3.0.2",
            "v2.3.0",
            "v3.0.1",
            "v3.0.0",
            "v3.0.0-next.0",
            "v2.2.7",
            "v2.2.6",
            "v2.2.5",
            "v2.2.4",
            "v2.2.3",
            "v2.2.2",
            "v2.2.1",
            "v2.2.0",
            "v2.2.0-next.8",
            "v2.2.0-next.7",
            "v2.2.0-next.6",
            "v2.2.0-next.5",
            "v2.2.0-next.4",
            "v2.2.0-next.3",
            "v2.2.0-next.2",
            "v2.2.0-next.1",
            "v2.2.0-next.0",
            "v2.1.0",
            "v2.1.0-next.7",
            "v2.1.0-next.6",
            "v2.1.0-next.5",
            "v2.0.5",
            "v2.0.4",
            "v2.0.3",
            "v2.0.2",
            "v2.0.1",
            "v2.0.0",
            "v2.0.0-beta.3",
            "v2.0.0-beta.2",
            "v2.0.0-beta.1",
            "v2.0.0-beta.0",
            "v2.0.0-next.28",
            "v2.0.0-next.27",
            "v2.0.0-next.26",
            "v2.0.0-next.25",
            "v2.0.0-next.24",
            "v2.0.0-next.23",
            "v2.0.0-next.22",
            "v2.0.0-next.21",
            "v2.0.0-next.20",
            "v2.0.0-next.19",
            "v2.0.0-next.18",
            "v2.0.0-next.17",
            "v2.0.0-next.16",
            "v2.0.0-next.15",
            "v2.0.0-next.14",
            "v2.0.0-next.13",
            "v2.0.0-next.12",
            "v2.0.0-next.11",
            "v2.0.0-next.10",
            "v2.0.0-next.9",
            "v2.0.0-next.8",
            "v2.0.0-next.7",
            "v2.0.0-next.6",
            "v2.0.0-next.5",
            "v2.0.0-next.4",
            "v2.0.0-next.3",
            "v2.0.0-next.2",
            "v2.0.0-next.1",
            "v2.0.0-next.0",
            "v1.4.0",
            "v1.4.0-beta.0",
            "v1.3.2",
            "v1.3.1",
            "v1.3.0",
            "v1.2.3",
            "v1.2.2",
            "v1.2.1",
            "v1.2.0",
            "v1.1.0",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-63461.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.432691817Z",
      "provider": "osv",
      "references": [
        "https://github.com/vendurehq/vendure/releases/tag/v3.6.5",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63461.json",
        "https://github.com/vendurehq/vendure/security/advisories/GHSA-xf65-r35x-wmmv",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-63461",
        "https://github.com/vendurehq/vendure/commit/6daf5cb8571321eb6c6afa1d8e95a390c060be02"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-200"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63461.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-63461",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518911,
  "published_at": "2026-09-17T14:43:01.879+00:00"
}