Skip to content

CVE-2026-72898 Critical Metabase Unauthenticated SQL Injecti... - #2752

Open
carlospolop wants to merge 1 commit into
masterfrom
update_CVE-2026-72898_Critical_Metabase_Unauthenticated_74dad8687e0b3aa2
Open

CVE-2026-72898 Critical Metabase Unauthenticated SQL Injecti...#2752
carlospolop wants to merge 1 commit into
masterfrom
update_CVE-2026-72898_Critical_Metabase_Unauthenticated_74dad8687e0b3aa2

Conversation

@carlospolop

Copy link
Copy Markdown
Collaborator

🤖 Automated Content Update

This PR was automatically generated by the HackTricks News Bot based on a technical blog post.

📝 Source Information

  • Blog URL: https://offsec.com/blog/cve-2026-72898-2
  • Blog Title: CVE-2026-72898: Critical Metabase Unauthenticated SQL Injection Vulnerability
  • Suggested Section: Pentesting Web > SQL Injection, with a subsection on structured query-builder/raw-expression injection; optionally cross-reference Network Services Pentesting > Web > Metabase

🎯 Content Summary

Overview

CVE-2026-72898 is a critical, remotely exploitable, unauthenticated SQL injection in the password-reset functionality of self-hosted Metabase. The vulnerable functionality is exposed through the public POST /api/session/reset_password endpoint. A remote attacker who can reach this endpoint can inject an attacker-controlled SQL expression into the Metabase application database, manipulate authentication-related data, and ultimately obtain administ...

🔧 Technical Details

Abusing structured query-builder input: APIs that pass JSON objects into a structured SQL builder must enforce strict schemas and primitive types. If a field expected to contain an identifier can instead contain a builder-specific raw-expression object, an attacker may cross the boundary between data and query syntax. With HoneySQL, a structure equivalent to {:raw "SQL"} causes text to be compiled directly into the statement. Supplying such an object through an insufficiently validated JSON field can therefore create SQL injection even when the application normally uses a query builder rather than string concatenation.

Converting application-database SQL injection into account takeover: SQL injection against an application's internal database can be exploited by targeting authentication workflows and records rather than external business data. Password-reset lookups, user identifiers, password hashes, roles, superuser flags, and s...

🤖 Agent Actions

Updated src/pentesting-web/sql-injection/README.md.

Added:

  • Structured query-builder/raw-expression injection technique.
  • HoneySQL :raw versus bound/:lift values.
  • Metabase password-reset request shape and account-takeover path.
  • Application-database pivoting and technical detection indicators.
  • Strict schema and AST-construction hardening guidance.
  • Four numbered primary/reporting references with inline citations.

Validation passed: clean diff, balanced code fences, valid references, reachable source URLs, and no forbidden sources. mdbook was unavailable locally.


This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.

@carlospolop

Copy link
Copy Markdown
Collaborator Author

🔗 Additional Context

Original Blog Post: https://offsec.com/blog/cve-2026-72898-2

Content Categories: Based on the analysis, this content was categorized under "Pentesting Web > SQL Injection, with a subsection on structured query-builder/raw-expression injection; optionally cross-reference Network Services Pentesting > Web > Metabase".

Repository Maintenance:

  • MD Files Formatting: 989 files processed

Review Notes:

  • This content was automatically processed and may require human review for accuracy
  • Check that the placement within the repository structure is appropriate
  • Verify that all technical details are correct and up-to-date
  • All .md files have been checked for proper formatting (headers, includes, etc.)

Bot Version: HackTricks News Bot v1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant