aliteq.

One free BI tool had a password-reset bug that handed out admin — hackers found it first

A single API endpoint let anyone become an administrator on thousands of self-hosted Metabase servers, and Framework, n8n and Kilo Code already got hit before the patch even shipped.

Aliteq TeamUpdated Aug 247 min read
A business intelligence dashboard interface displaying charts and data tables, representative of the kind of analytics platform Metabase provides
Share

Metabase disclosed CVE-2026-72898 on August 6, 2026: an unauthenticated SQL injection in the password-reset endpoint, /api/session/reset_password, that lets an attacker with no credentials and no user interaction inject arbitrary SQL against Metabase's own application database and walk away with a valid administrator session. It scores a flat 10.0 on CVSS. The disclosure date is almost beside the point — exploitation predates it. Between August 7 and August 10, three real companies confirmed attackers had already used this exact hole against their Metabase Cloud tenants before a patch existed: PC maker Framework had customer names, login IPs, addresses, phone numbers and emails accessed; workflow-automation company n8n had 136 customer records compromised, including five bcrypt-hashed cloud account passwords; and Kilo Code had Slack integration tokens exposed for a subset of its users, according to The Hacker News.

How a password-reset form becomes a full admin takeover

The root cause, per technical writeups from Horizon3.ai, is a failure to restrict undeclared fields in the password-reset request body — a gap that's existed since Metabase refactored its authentication modules starting with version 0.58. An attacker can smuggle extra, unvalidated fields into the reset-password call, and those fields get interpolated straight into a SQL query against the application database instead of being sanitized or rejected. From there, the attacker forges a valid password-reset flow for an administrator account and logs in with full privileges — no phishing, no stolen credentials, no multi-step chain. Just one request to one endpoint.

Affected and patched versions by branch

0.58 / 1.58

Branch
0.58.0 – 0.58.22
Vulnerable range
0.58.24

0.59 / 1.59

Branch
0.59.0 – 0.59.19
Vulnerable range
0.59.21

0.60 / 1.60

Branch
0.60.0 – 0.60.15
Vulnerable range
0.60.17

0.61 / 1.61

Branch
0.61.0 – 0.61.9
Vulnerable range
0.61.11

0.62 / 1.62

Branch
0.62.0 – 0.62.7
Vulnerable range
0.62.9

0.63 / 1.63

Branch
0.63.0 – 0.63.2
Vulnerable range
0.63.5

Who's already been hit

  • Framework (confirmed Aug 7) — customer names, login IPs, physical addresses, phone numbers and email addresses accessed.
  • n8n (confirmed Aug 8) — 136 customer records compromised, including 5 bcrypt-hashed cloud account passwords.
  • Kilo Code (confirmed Aug 9) — Slack integration tokens exposed for a subset of users.

All three are Metabase Cloud tenants, meaning Metabase's own hosted infrastructure — not a customer misconfiguration — was in the exploitation path during the pre-patch window. Metabase has since patched its cloud environment; the exposure now is entirely on the self-hosted side. Internet-wide scans cited by Wiz found roughly 11,000 probable self-hosted Metabase instances, of which about 4,309 were still on a vulnerable version. At the time of scanning, over 97 percent of fingerprinted hosts on affected branches hadn't patched yet.

Check your Metabase version in the admin panel or via the /api/health endpoint.

Upgrade to the patched release for your branch — see the table above.

3

Rotate all user sessions and any API keys stored in Metabase after patching, since a pre-patch admin session could still be valid.

4

Audit the database credentials Metabase uses to connect to your actual data sources — an attacker with Metabase admin access can read and export through those connections.

5

Review your database logs for anomalous queries or errors around the reset_password window before you patched.

This is the same failure class as three other 2026 bugs

Metabase's password-reset endpoint isn't the first authentication workflow to turn into a pre-auth admin takeover this year. GeoServer's SQL injection zero-day hit CVSS 9.8 through a comparable injection path, SAP Commerce Cloud's CVE-2026-58231 went from disclosure to exploitation in 72 hours, and SharePoint's JWT-forgery proof-of-concept was weaponized within two days of a researcher posting it. The common thread across all four: attackers have stopped probing login pages and started targeting the auxiliary auth flows around them — password resets, token refreshes, session forging — because those endpoints get far less scrutiny than the front door, and a single missed validation there is worth more than any brute-force attempt against a login form.

10.0

CVSS score

Aug 6, 2026

Disclosed

Aug 10, 2026

PoC public

3 named

Confirmed victims

Common questions

Am I safe if I use Metabase Cloud instead of self-hosting?
Metabase's own cloud infrastructure has been patched since the disclosure, so cloud tenants are no longer exposed to this specific attack path. The confirmed victims — Framework, n8n and Kilo Code — were hit during the pre-patch window before the fix rolled out.
What exactly can an attacker do with the admin access this bug grants?
Full administrative control of the Metabase instance: reading and exporting any data accessible through its connected databases, changing application configuration, and harvesting stored database credentials for those connections.
Do I need to do anything besides upgrade?
Yes. Because exploitation can grant a valid admin session before you patch, rotating sessions and API keys afterward matters — simply upgrading doesn't invalidate a session an attacker already obtained.
How do I know if I've already been hit?
Check your database and application logs around the reset_password endpoint for unusual query patterns or errors in the window before you patched, and look for admin-account activity you don't recognize.

If you're on Metabase Cloud, you're covered — the vendor already closed this on its own infrastructure. If you self-host, the fixed version for your branch is the only real mitigation; there's no config flag that neutralizes an unvalidated field in a SQL query. And regardless of what tool you run, this is worth generalizing: any internal service with a password-reset, token-refresh, or account-recovery endpoint deserves the same scrutiny you'd give a login form, because attackers have clearly started giving it that scrutiny first.

Found this useful? Share it

Share

Sources

What this guide was researched from. How we check facts and compute numbers: methodology.

Aliteq

Aliteq Team

Aliteq started in 2019 as a PC hardware shop and is now a US-based publication. We build the VRAM and cost calculators on this site, track live cloud-GPU prices, and write guides with AI-assisted drafting that we check against primary sources before publishing.

Work out the hardware

The Aliteq brief

The tech worth knowing — hardware, AI, gaming, deals. No spam, unsubscribe anytime.

Keep reading