Horizon Alert
Summary of the vulnerability and why it matters
Metabase, a business intelligence tool, has a critical vulnerability that allows unauthenticated attackers to inject arbitrary SQL commands through publicly shared content. This issue arises from how parameters are handled in shared cards and dashboards, potentially exposing sensitive data or allowing unauthorized modifications.
- Unauthenticated SQL injection via public Metabase shares.
- Matters due to potential data exposure and unauthorized actions.
- Confirm relevance and exposure of public Metabase shares.
Attack Path
How an attacker could exploit the issue
An unauthenticated attacker can exploit this vulnerability by injecting arbitrary SQL through a publicly shared card or dashboard. This occurs when a field-filter (dimension) parameter is exposed, allowing the attacker to manipulate the database queries. When successful, this could lead to significant compromise of the system's data.
- No authentication required.
- Inject SQL via shared card/dashboard filter.
- Potential for complete system compromise.
Live Threat
Current exploitation, exposure, and threat context
An unauthenticated attacker could exploit this vulnerability by injecting malicious SQL queries through publicly shared Metabase cards or dashboards. This could affect the integrity and availability of the Metabase service and potentially expose or manipulate the data it accesses.
- Data accessed by Metabase.
- SQL injection via shared cards.
- Data corruption or exposure.
Operational Fix
Recommended remediation, mitigation, and detection steps
This vulnerability in Metabase, which allows unauthenticated SQL injection through publicly shared cards or dashboards, impacts organizations that use Metabase for data visualization and sharing. The primary responsibility for addressing this lies with the teams managing the Metabase application and the data it exposes. The first step is to identify all instances of Metabase, confirm if any publicly shared cards or dashboards with field-filter parameters are exposed externally, and then determine the business criticality of these assets to prioritize remediation efforts with the accountable owner.
- Application owners and platform teams are responsible.
- Verify public sharing and field-filter exposure.
- Plan for risk-based remediation and vendor coordination.