Skip to content
Heist/ feed
Back to feed
High

OpenPanel report.get Returns Any Report by Identifier Without Checking Project Access

Type: advisorySources: Official CVE List

The report.get procedure in packages/trpc/src/routers/report.ts accepted only a reportId and returned getReportById(reportId) directly. The enforceAccess middleware in packages/trpc/src/trpc.ts evaluates membership only when the input carries a projectId or organizationId key, so an input consisting of a reportId alone passed through unchecked, and getReportById in packages/db/src/services/reports.service.ts performs a findUnique on the report id with no project scoping. Any authenticated user could therefore read the full configuration of any saved report on the instance, including the owning projectId, event series, filters, breakdowns and formulas, by supplying its identifier. The adjacent update, delete and duplicate procedures resolve the report first and check getProjectAccess against the report's own projectId, so the omission was specific to this procedure.

Products
openpanel
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-77768
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 13:43 UTC · Revision 1

Source evidence

OpenPanel report.get Returns Any Report by Identifier Without Checking Project Access

core-cve · Original source

Published 21 Aug 2026, 11:05 UTC

The report.get procedure in packages/trpc/src/routers/report.ts accepted only a reportId and returned getReportById(reportId) directly. The enforceAccess middleware in packages/trpc/src/trpc.ts evaluates membership only when the input carries a projectId or organizationId key, so an input consisting of a reportId alone passed through unchecked, and getReportById in packages/db/src/services/reports.service.ts performs a findUnique on the report id with no project scoping. Any authenticated user could therefore read the full configuration of any saved report on the instance, including the owning projectId, event series, filters, breakdowns and formulas, by supplying its identifier. The adjacent update, delete and duplicate procedures resolve the report first and check getProjectAccess against the report's own projectId, so the omission was specific to this procedure.

cve:CVE-2026-77768

openpanel

Fixed versions: Not specified

Complete source record
{
  "id": "f236011555cacc3907354abe6a5ee95616dd821fac596281f6b07b293c456779",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-77768",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OpenPanel report.get Returns Any Report by Identifier Without Checking Project Access",
    "summary": "The report.get procedure in packages/trpc/src/routers/report.ts accepted only a reportId and returned getReportById(reportId) directly. The enforceAccess middleware in packages/trpc/src/trpc.ts evaluates membership only when the input carries a projectId or organizationId key, so an input consisting of a reportId alone passed through unchecked, and getReportById in packages/db/src/services/reports.service.ts performs a findUnique on the report id with no project scoping. Any authenticated user could therefore read the full configuration of any saved report on the instance, including the owning projectId, event series, filters, breakdowns and formulas, by supplying its identifier. The adjacent update, delete and duplicate procedures resolve the report first and check getProjectAccess against the report's own projectId, so the omission was specific to this procedure.",
    "evidence": "cve:CVE-2026-77768",
    "products": [
      {
        "name": {
          "value": "openpanel",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-77768",
      "aliases": [
        "CVE-2026-77768"
      ],
      "metrics": [
        {
          "format": "CVSS",
          "cvssV3_1": {
            "scope": "UNCHANGED",
            "version": "3.1",
            "baseScore": 6.5,
            "attackVector": "NETWORK",
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
            "integrityImpact": "NONE",
            "userInteraction": "NONE",
            "attackComplexity": "LOW",
            "availabilityImpact": "NONE",
            "privilegesRequired": "LOW",
            "confidentialityImpact": "HIGH"
          }
        },
        {
          "format": "CVSS",
          "cvssV4_0": {
            "version": "4.0",
            "baseScore": 7.1,
            "attackVector": "NETWORK",
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
            "userInteraction": "NONE",
            "attackComplexity": "LOW",
            "attackRequirements": "NONE",
            "privilegesRequired": "LOW",
            "subIntegrityImpact": "NONE",
            "vulnIntegrityImpact": "NONE",
            "subAvailabilityImpact": "NONE",
            "vulnAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "vulnConfidentialityImpact": "HIGH"
          }
        }
      ],
      "affected": [
        {
          "repo": "https://github.com/Openpanel-dev/openpanel",
          "vendor": "Openpanel-dev",
          "product": "openpanel",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "0a51b6805eed0b3da8376175acd5fa3d26819cb6",
              "versionType": "git"
            }
          ],
          "packageURL": "pkg:github/Openpanel-dev/openpanel",
          "programFiles": [
            "packages/trpc/src/routers/report.ts",
            "packages/db/src/services/reports.service.ts"
          ],
          "defaultStatus": "unaffected"
        }
      ],
      "modified": "2026-10-27T10:14:35.597Z",
      "provider": "cve",
      "references": [
        "https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-9x7c-f87x-2243",
        "https://github.com/Openpanel-dev/openpanel/blob/e8a0602cda5a4d4b463f11d298a1b078c446bf33/packages/trpc/src/routers/report.ts",
        "https://github.com/Openpanel-dev/openpanel/commit/0a51b6805eed0b3da8376175acd5fa3d26819cb6",
        "https://github.com/Openpanel-dev/openpanel",
        "https://www.vulncheck.com/advisories/openpanel-report-get-returns-any-report-by-identifier-without-checking-project-access"
      ],
      "provider_metadata": {
        "adp": [
          {
            "title": "CISA ADP Vulnrichment",
            "metrics": [
              {
                "other": {
                  "type": "ssvc",
                  "content": {
                    "id": "CVE-2026-77768",
                    "role": "CISA Coordinator",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "version": "2.0.3",
                    "timestamp": "2026-08-21T17:30:57.389033Z"
                  }
                }
              }
            ],
            "references": [
              {
                "url": "https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-9x7c-f87x-2243",
                "tags": [
                  "exploit"
                ]
              }
            ],
            "providerMetadata": {
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP",
              "dateUpdated": "2026-08-21T17:31:03.513Z"
            }
          }
        ],
        "cna": {
          "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
          "shortName": "VulnCheck",
          "dateUpdated": "2026-10-27T10:14:35.597Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-77768",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 391800,
  "published_at": "2026-08-21T11:05:14.998+00:00"
}