/

CVE-2026-116819

Severity:

HIGH RISK

(8.5)

Information Disclosure (CWE-200) in OpenPanel Projects

CVE-2026-116819

Deferred

Vulnerability type

Category:

Information Disclosure

CWE:

CWE-200

Impact:

Exposure of sensitive integration credentials and potential compromise of connected external systems

Severity:

HIGH RISK

(8.5)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

OpenPanel exposes plaintext integration secrets through the notification.rules tRPC query because the query does not apply integration-secret redaction. A read-level project member may retrieve Slack bot tokens, webhook URLs, and authorization headers, which could enable unauthorized activity against connected external systems.

OpenPanel exposes plaintext integration secrets through the notification.rules tRPC query because the query does not apply integration-secret redaction. A read-level project member may retrieve Slack bot tokens, webhook URLs, and authorization headers, which could enable unauthorized activity against connected external systems.

Affected context

The issue occurs in OpenPanel project environments where read-level members can invoke the notification.rules query and the returned integration data is not passed through the expected redaction logic. Deployments that store Slack credentials, webhook URLs, or authorization headers in notification integrations may expose those values to users with otherwise limited project access.

The issue occurs in OpenPanel project environments where read-level members can invoke the notification.rules query and the returned integration data is not passed through the expected redaction logic. Deployments that store Slack credentials, webhook URLs, or authorization headers in notification integrations may expose those values to users with otherwise limited project access.

Exploit preconditions

  • Attack surface: The OpenPanel project notification system and its tRPC API
  • Required access: Read-level membership in an affected project
  • Trigger point: Invocation of the notification.rules query
  • Why exploitation is possible: The query returns integration data without applying the redaction routine intended to conceal sensitive fields
  • Attack surface: The OpenPanel project notification system and its tRPC API
  • Required access: Read-level membership in an affected project
  • Trigger point: Invocation of the notification.rules query
  • Why exploitation is possible: The query returns integration data without applying the redaction routine intended to conceal sensitive fields

Why this happens

The underlying bug is an incomplete data-protection path: a query that returns notification rules omits the redactIntegration processing step. As a result, values that should be treated as secrets are serialized and returned in plaintext to a caller with limited read access. This maps to CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, because the authorization boundary permits access to project data but does not justify disclosure of embedded credentials.

The underlying bug is an incomplete data-protection path: a query that returns notification rules omits the redactIntegration processing step. As a result, values that should be treated as secrets are serialized and returned in plaintext to a caller with limited read access. This maps to CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, because the authorization boundary permits access to project data but does not justify disclosure of embedded credentials.

Potential impact

  • Attackers may obtain Slack bot tokens and act through connected Slack integrations.
  • Attackers could use exposed webhook URLs to send unauthorized notifications or manipulate connected workflows.
  • Exposed authorization headers may enable requests against external systems.
  • Organizations may experience data disclosure, impersonation, service disruption, or follow-on compromise.
  • Attackers may obtain Slack bot tokens and act through connected Slack integrations.
  • Attackers could use exposed webhook URLs to send unauthorized notifications or manipulate connected workflows.
  • Exposed authorization headers may enable requests against external systems.
  • Organizations may experience data disclosure, impersonation, service disruption, or follow-on compromise.

General mitigation guidance

Mitigation should focus on enforcing consistent secret-handling and authorization boundaries across every response path.

Common defensive patterns include:

  • Apply redaction centrally before returning integration objects from any API or query.
  • Return only the minimum fields required for a caller's role and task.
  • Treat tokens, webhook URLs, and authorization headers as secrets regardless of their containing object.
  • Separate configuration metadata from secret material and avoid exposing secrets to read-level users.
  • Rotate potentially exposed credentials and review connected-system permissions.
  • Use least-privilege credentials with narrowly scoped access and short lifetimes where supported.

Mitigation should focus on enforcing consistent secret-handling and authorization boundaries across every response path.

Common defensive patterns include:

  • Apply redaction centrally before returning integration objects from any API or query.
  • Return only the minimum fields required for a caller's role and task.
  • Treat tokens, webhook URLs, and authorization headers as secrets regardless of their containing object.
  • Separate configuration metadata from secret material and avoid exposing secrets to read-level users.
  • Rotate potentially exposed credentials and review connected-system permissions.
  • Use least-privilege credentials with narrowly scoped access and short lifetimes where supported.

How teams detect issues like this

Organizations can look for:

  • Static analysis and code review checks confirming that all integration responses pass through approved redaction or secret-filtering functions.
  • API contract tests that verify sensitive fields are absent for read-level and other restricted roles.
  • Signals such as notification-rule responses containing token-like strings, authorization headers, or webhook credentials.
  • Policy enforcement that blocks secret fields from serializers, logs, browser responses, and general-purpose project APIs.
  • Audit-log review for unusual access to notification configuration endpoints and subsequent use of connected integrations.

Organizations can look for:

  • Static analysis and code review checks confirming that all integration responses pass through approved redaction or secret-filtering functions.
  • API contract tests that verify sensitive fields are absent for read-level and other restricted roles.
  • Signals such as notification-rule responses containing token-like strings, authorization headers, or webhook credentials.
  • Policy enforcement that blocks secret fields from serializers, logs, browser responses, and general-purpose project APIs.
  • Audit-log review for unusual access to notification configuration endpoints and subsequent use of connected integrations.

Sources

SourceLink
github.comgithub.com/Openpanel-dev/openpanel/commit/071c736c4539c005ac32647f2cfc6dec89cfb596
github.comgithub.com/Openpanel-dev/openpanel/security/advisories/GHSA-wfrw-rm3f-52x8
vulncheck.comvulncheck.com/advisories/openpanel-before-3.0.0-credential-disclosure-via-notification-rules-query

Frequently asked

questions

It may be exploitable through the OpenPanel API by an authenticated project member, depending on network exposure and deployment access controls.

The described attack requires read-level membership in an affected project and the ability to invoke the notification.rules tRPC query.

Ensure every response path applies centralized redaction and role-aware field filtering, returning no integration secrets to users who do not need them.

Classify integration credentials as secret data, enforce least-privilege access, test API responses by role, and monitor for accidental secret disclosure.

It may be exploitable through the OpenPanel API by an authenticated project member, depending on network exposure and deployment access controls.

The described attack requires read-level membership in an affected project and the ability to invoke the notification.rules tRPC query.

Ensure every response path applies centralized redaction and role-aware field filtering, returning no integration secrets to users who do not need them.

Classify integration credentials as secret data, enforce least-privilege access, test API responses by role, and monitor for accidental secret disclosure.

Find out what's already
exploitable in your codebase.