Skip to content

SQL injection using a publicly shared dashboard leading to admin access

Critical
perivamsi published GHSA-r8h2-qpfx-mx59 Aug 6, 2026

Software

metabase

Affected versions

>= x.58.0, < x.58.24
>= x.59.0, < x.59.21
>= x.60.0, < x.60.17
>= x.61.0, < x.61.11
>= x.62.0, < x.62.9
>= x.63.0, < x.63.5

Patched versions

x.58.24
x.59.21
x.60.17
x.61.11
x.62.9
x.63.5

Description

Summary

An unauthenticated attacker can inject arbitrary SQL into the Metabase application database using a publicly shared card or dashboard that exposes a field-filter (dimension) parameter. With only the public link UUID, which is part of the shared URL by design, the attacker could change the application configuration, steal stored credentials for the connected databases, read any data accessible through those connections, and export data. Public sharing is enabled by default, so publishing a link is the only setup required.

Remediation

Upgrade to a patch corresponding to your Metabase major version as soon as possible. As a temporary workaround, disable public sharing, or unpublish public links that expose field-filter parameters.

If you have publicly shared dashboards or cards with field-filter parameters, then please do the following after you upgrade:

  1. Revoke all active user sessions by accessing the Metabase application database and running TRUNCATE TABLE core_session.
  2. Review your API keys and delete any unrecognized keys.
  3. Review administrator accounts for any unexpected changes.
  4. Rotate credentials for any of the connected databases.
  5. Review data warehouse logs for any sign of unauthorized access.
  6. Review Metabase activity and query history for unexpected or unauthorized activity.

Versions with the fix

v63.5

OSS: jar | docker
EE: jar | docker

v62.9

OSS: jar·docker
EE: jar·docker

v61.11

OSS: jar | docker
EE: jar | docker

v60.17

OSS: jar | docker
EE: jar | docker

v59.21

OSS: jar | docker
EE: jar | docker

v58.24

OSS: jar | docker
EE: jar | docker

Severity

Critical

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

CVE ID

CVE-2026-72899

Weaknesses

No CWEs