WZ-IT Logo

Metabase emergency patch: SQL injection rated CVSS 10.0 is being actively exploited

Timo Wevelsiep
Timo Wevelsiep
Updated: 31.08.2026
#Metabase #SQLInjection #CVSS10 #SelfHosting #CVEMonitoring #NIS2

Editorial note: The information in this article was compiled to the best of our knowledge at the time of publication. Technical details, prices, versions, licensing terms, and external content may change. Please verify the information provided independently, particularly before making business-critical or security-related decisions. This article does not replace individual professional, legal, or tax advice.

Metabase emergency patch: SQL injection rated CVSS 10.0 is being actively exploited

Want self-hosted software watched before it burns? We monitor vulnerabilities for the systems we operate and patch within the agreed window - see CVE monitoring and managed operations, or book an initial consultation.

Metabase closed two critical vulnerabilities on 6 August 2026. The more severe one carries CVSS 10.0 and is, according to the vendor, being actively exploited: an unauthenticated attacker can inject SQL into the application database through the /api/session/reset_password endpoint and gain administrator rights (GHSA-vwf4-m7j8-wcjf).

The flaw was exploited as a zero-day, before a patch existed. Confirmed consequences have since surfaced: laptop maker Framework and form provider Tally have both disclosed data theft.

Two things make this case interesting beyond Metabase itself. First: it is "only" a SQL injection and still scores the maximum. Second: at publication there was no CVE number, it followed four days later - anyone whose vulnerability management rests on CVE feeds alone is not seeing this flaw right now.

Updated on 9 August 2026 with the confirmed data theft, the detection pattern from the access logs, and the now-clarified status of Metabase Cloud.

Table of contents

What actually happened

Metabase published two advisories on 6 August 2026. Both are SQL injection into Metabase's application database, both lead to administrator access - they differ in what the attacker needs.

GHSA-vwf4-m7j8-wcjf GHSA-r8h2-qpfx-mx59
CVSS 10.0 9.6
Vector AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Entry point /api/session/reset_password publicly shared dashboard or card
Precondition none field-filter parameter in the public link
Active exploitation confirmed by the vendor not mentioned

The difference in the vector is exactly one letter: UI:N against UI:R. The first flaw requires no interaction at all - no click, no login, no precondition. For the second, the UUID of a public link is enough; public sharing is enabled by default in Metabase.

An important clarification: this is not remote code execution. No code runs on the server. That does not make it milder, as the next section shows - but anyone hunting for RCE signatures is looking for the wrong pattern.

What was actually stolen

The attack took place on 3 August 2026, three days before the patch. Metabase notified affected customers on 6 August; the cases became public on 7 August.

Affected What was taken
Framework (laptop maker) Full name, email addresses, login IP addresses, billing and shipping address, phone number; for business customers additionally company name and tax information. No payment or order data.
Tally (form provider) Email addresses and password hashes
LexisNexis Metabase API affected; whether data was taken is not conclusively established

A distinction that gets lost in much of the reporting: the confirmed incidents involve Metabase Cloud. Framework ran a Cloud instance, and Metabase detected the attack on its own platform. Self-managed instances are vulnerable, but an attack on a specific self-hosted installation has not been publicly documented so far.

For self-hosting operators that changes nothing about the urgency, quite the opposite: the vendor states it has already upgraded Cloud instances. Anyone running their own has to act themselves - and without log analysis will not know whether they were hit.

Why a SQL injection scores CVSS 10.0

The decisive part of the vector is S:C - scope changed. It states that the damage crosses the boundary of the vulnerable component.

That is exactly the situation with a business intelligence tool. Metabase is not a system that holds its own data. It is a system that holds credentials to other people's data: PostgreSQL, MySQL, Snowflake, BigQuery, Redshift, the data warehouse. Whoever becomes a Metabase administrator then reads out the stored connections.

The arithmetic is therefore not "one compromised analytics tool" but "compromised access to every connected data source". In its impact assessment the vendor explicitly names the theft of stored database credentials and data exfiltration through the connected systems.

That is why a flaw without code execution lands at the maximum score - and why the update alone is not enough.

Affected and patched versions

Metabase maintains several branches in parallel. Affected are:

Branch affected up to patched from
x.58 x.58.23 x.58.24
x.59 x.59.20 x.59.21
x.60 x.60.16 x.60.17
x.61 x.61.10 x.61.11
x.62 x.62.8 x.62.9
x.63 x.63.4 x.63.5

The table shows the wider of the two ranges, i.e. the question "am I affected by either flaw?". The actively exploited 10.0 flaw reaches one point release less far: GitHub lists it as >= x.58.0, < x.58.23 through >= x.63.0, < x.63.3, so the affected builds there end at x.58.22 and x.63.2 respectively. Anyone on x.63.3 or x.63.4 is no longer affected by the 10.0 flaw, but very much by the second one - in both cases x.63.5 resolves it. Anyone running a major version older than x.58 has to move to one of the maintained branches before the patch applies.

You can check the running version in the Metabase admin settings or directly from the container tag.

Immediate measures

Updating remains the first choice. Where that cannot happen within hours, the vendor names stopgaps:

  • For the unauthenticated flaw: block the /api/session/reset_password endpoint at the network level - in the reverse proxy, the web application firewall or the ingress rule. This disables password resets, which is no loss at all in environments with SSO.
  • For the second flaw: disable public sharing, or at minimum unpublish every public link that carries field-filter parameters.

Both are makeshift. They close a known path, not the vulnerability.

The most effective protection is structural anyway: an analytics tool has no business being on the open internet. Reachability exclusively through identity-based remote access instead of a public port would have left both attack paths with nothing to work on.

Spotting a compromise

Metabase names a concrete pattern to search for in access logs:

POST /api/session/reset_password   → 400
GET  /api/user/current             → 200

A call to the password reset endpoint that appears to end in an error, immediately followed by a successful request for the current user. The first call only fails outwardly; the injection has already taken effect by then, and the second call reveals the valid session.

This is a solid starting point because it can be found in any reverse proxy or ingress log, without Metabase itself having to record anything. The relevant window starts on 3 August 2026 at the latest.

If your logs do not reach back that far, you cannot answer the question and should work through the follow-up section below in full rather than hoping for a negative finding.

Follow-up work after the update

For the actively exploited flaw, applying the patch is explicitly not sufficient. Anyone who ran a reachable instance has to assume access may have taken place. The vendor names five steps:

  1. Delete all sessions - remove the entries in the core_session table so that hijacked sessions become invalid
  2. Review API keys and revoke everything you cannot account for
  3. Go through the admin accounts - newly created accounts and changed roles are the first sign
  4. Rotate database credentials - every one stored in Metabase
  5. Evaluate the access logs of the connected systems and review the activity history inside Metabase

Point 4 is the most laborious and the most important. If the stored credentials have leaked, a patched Metabase helps nothing - the attacker then talks to the database directly.

Point 5 is where most fail. Anyone who keeps no logs, or cannot evaluate them, cannot answer the question "did something happen?" - and has to assume the worse case.

A flaw without a CVE - the blind spot in monitoring

Update of 31 August 2026: The more severe of the two flaws now has an identifier. It is tracked as CVE-2026-72898, confirmed at CVSS 10.0, and CISA added it to the Known Exploited Vulnerabilities catalog on 11 August 2026 with a remediation due date of 14 August. The section below describes the situation at the time of the attack; the monitoring gap has not disappeared but has become measurable for the first time.

Date Event
6 August 2026 Metabase publishes both advisories, active exploitation already under way
10 August 2026 CVE-2026-72898 is assigned and published in the NVD
11 August 2026 Added to CISA's KEV catalog, due date 14 August

Four days therefore passed between the advisory and the CVE number. Anyone whose vulnerability management rests on CVE feeds alone had no indication during that window of a flaw that was already being exploited.

At the time this article was published, neither advisory carried a CVE number. Metabase had published them as GitHub Security Advisories; no assignment had been made.

That is not unusual, but it had practical consequences: a vulnerability scanner matching against the National Vulnerability Database reported nothing for these flaws - even though one of them was being actively exploited. Anyone whose vulnerability management rests on CVE feeds alone has a blind spot here that may last several days.

Reliable monitoring for self-hosted software therefore pulls several sources together: CVE and NVD, but also the GitHub Security Advisories of the projects in use, their release notes and vendor announcements. How we set that up is described in CVE monitoring for self-hosted software.

What this means for analytics tools in general

The Metabase case is not an isolated incident but a pattern. Business intelligence tools, ETL pipelines and dashboard platforms all share one property: they are credential vaults. Their whole job is to connect to as many data sources as possible.

Three rules follow from that, independent of the product:

Not publicly reachable. A BI tool has no reason to be reachable from the open internet. Access through identity-based remote access with multi-factor authentication costs little and removes the basis for an entire class of attacks.

Separate database users with read-only rights. If Metabase connects with an account that may only read and only sees the schemas it needs, a compromised Metabase is a data leak - but not a takeover of the data warehouse.

Keep credentials rotatable. Follow-up step five above only takes hours instead of days if somebody wrote down beforehand which credentials are stored where.

How we approach it at WZ-IT

For the systems we operate we monitor vulnerabilities not only through CVE feeds but through the advisory channels of the projects in use - precisely because cases like this one arrive without a CVE number. We assess critical reports against the actual estate: which version runs where, is the instance reachable at all, and does one of the stopgaps apply.

When setting up self-hosted applications we treat the three points from the previous section as standard: no public access, separate database users with least privilege, documented credentials. That is not extra operational effort; it is the difference between a patching weekend and a NIS2 report.

If you are unsure how your existing instance stands: the server audit reviews reachability, access, patch level and restorability on one Linux instance at a fixed price. For ongoing operations, CVE monitoring is the matching building block.

Further guides

Running Metabase and unsure whether the instance is clean? We check version, reachability and traces of access, apply the patch and work through the follow-up - let's talk or go straight to the server audit.

Sources

Enquiry

Patch Metabase and resolve possible follow-on impact

We review version and reachability, apply the patch with required follow-up, investigate signs of unauthorised access, or take over monitoring and hardening permanently.

What is the current state of your Metabase instance?

How should we get back to you?

Frequently Asked Questions

Answers to important questions about this topic

Affected are x.58.0 through x.58.23, x.59.0 through x.59.20, x.60.0 through x.60.16, x.61.0 through x.61.10, x.62.0 through x.62.8 and x.63.0 through x.63.4. The patched releases are x.58.24, x.59.21, x.60.17, x.61.11, x.62.9 and x.63.5. Anyone on a major version older than x.58 has to move to one of these branches first.

Not at the time of publication. Metabase published both flaws as GitHub Security Advisories on 6 August 2026 with no CVE assigned. The more severe one has carried the identifier CVE-2026-72898 since 10 August 2026 and has been in CISA's KEV catalog since 11 August. The consistently reliable identifiers are GHSA-vwf4-m7j8-wcjf and GHSA-r8h2-qpfx-mx59. The second flaw still has no CVE number; vulnerability scanners matching only against the NVD report nothing for it.

Because of the scope change in the vector (S:C). The injection hits Metabase's own application database, but that database holds the credentials for every connected data source. The damage therefore does not stay inside Metabase; it reaches into every attached data warehouse.

For the unauthenticated flaw, block the /api/session/reset_password endpoint at the network level. For the second flaw, disable public sharing or at least unpublish every public link that carries field-filter parameters. Both are stopgaps, not a replacement for the update.

No. For the actively exploited flaw Metabase explicitly calls for follow-up work: delete all sessions in the core_session table, revoke any API keys you cannot account for, review admin accounts for unauthorised changes, rotate database credentials and examine the access logs of the connected systems.

That depends on whether your company falls under NIS2 and whether there are indications of a significant security incident. A plain update without signs of compromise is not a reportable incident. As soon as there are indications of unauthorised access, short reporting deadlines apply - and then what matters is whether you can evaluate your logs at all.

No. Both flaws from 6 August 2026 are SQL injection into Metabase's application database leading to administrator access. No code is executed on the server. An older Metabase flaw with code execution does exist - GHSA-8wx2-rxp2-4x35, also tracked as CVE-2026-59826, published 30 June 2026 - but that is a separate issue.

In the admin section of the interface under settings, or directly from the image tag when running in containers. Metabase names versions in the form x.63.5, where x indicates the edition: v for the open-source edition, 1 for the enterprise edition. Only the part after the dot matters for assessing exposure.

Yes, and that is where the attack was noticed in the first place. In its security update of 6 August 2026 Metabase describes Metabase Cloud being attacked through a then-unknown vulnerability. According to the vendor, Cloud instances have since been upgraded and patched without any customer action. The GitHub advisories list version ranges only for the self-managed editions because that is where action is required, not because Cloud was unaffected.

Yes, in at least three confirmed cases. Laptop maker Framework disclosed data theft through its Metabase Cloud instance: full names, email addresses, login IP addresses, billing and shipping addresses, phone numbers and, for business customers, company name and tax information. Framework states that payment and order data were not affected. Form provider Tally reports email addresses and password hashes. At LexisNexis the Metabase API was affected; whether data was taken has not been conclusively established.

Metabase names a concrete pattern to look for in access logs: a call to POST /api/session/reset_password returning status 400, immediately followed by a call to GET /api/user/current returning status 200. The first call appears to fail while the second shows a valid session - that combination is the signature of exploitation. If you retain reverse proxy logs back to 3 August 2026, you can search for it directly.

If personal data is affected, Article 33 GDPR applies: notification to the competent supervisory authority within 72 hours of becoming aware. Where the breach is likely to result in a high risk to the individuals concerned, Article 34 adds notification of those individuals. Through Metabase the contents of the connected databases are typically reachable, not just Metabase accounts, so the scope of the notification follows from what the stored connections could reach.

Timo Wevelsiep

Written by

Timo Wevelsiep

Co-Founder & CEO

Co-Founder of WZ-IT. Specialized in cloud infrastructure, open-source platforms and managed services for SMEs and enterprise clients worldwide.

LinkedIn

Let's Talk About Your Idea

Whether a specific IT challenge or just an idea - we look forward to the exchange. In a brief conversation, we'll evaluate together if and how your project fits with WZ-IT.

Arrange a callback

Callback

Arrange a callback

Leave your number and we will call back — at the latest on the next business day.

For a longer conversation you can book an appointment instead.

Companies worldwide trust WZ-IT

  • ml&s
  • Rekorder
  • Keymate
  • Führerscheinmacher
  • SolidProof
  • ARGE
  • Boese VA
  • nextGYM
  • SweetConnect GmbH
  • Golem.de
  • Millenium
  • Paritel
  • Yonju
  • EVADXB
  • Mr. Clipart
  • Aphy AG
  • Negosh
  • ABCO Water Systems
1/3 - Topic Selection33%

What is your inquiry about?

First select the service area that best matches your project.