Skip to main content

Metabase CVE-2026-59827

| EUVDEUVD-2026-42659 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-07-09 security-advisories@github.com
8.8
CVSS 3.1 · NVD
Share

Severity by source

Vendor (github) PRIMARY
CRITICAL
qualitative
NVD
8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
8.8 HIGH

Network-reachable and low-complexity, but requires an authenticated user with native-query rights (PR:L); deserialization yields full RCE, so C/I/A all High with unchanged scope.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

8
Analysis Updated
Jul 13, 2026 - 14:44 vuln.today
v3 (cvss_changed)
Source Code Evidence Fetched
Jul 13, 2026 - 14:43 vuln.today
Analysis Updated
Jul 13, 2026 - 14:43 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 13, 2026 - 14:37 vuln.today
cvss_changed
Severity Changed
Jul 13, 2026 - 14:37 NVD
CRITICAL HIGH
CVSS changed
Jul 13, 2026 - 14:37 NVD
9.9 (CRITICAL) 8.8 (HIGH)
Patch available
Jul 09, 2026 - 19:01 EUVD
Analysis Generated
Jul 09, 2026 - 18:43 vuln.today

DescriptionNVD

Metabase is an open-source business intelligence and embedded analytics tool. Prior to 1.58.15, 1.59.12, 1.60.6.3, and 1.61.1.4, Metabase instances with an H2 database connection, including the default sample database, deserialize arbitrary Java objects returned in H2 native query result columns of type OTHER without validation, allowing an authenticated user who can run native H2 queries to execute code on the Metabase server. This issue is fixed in versions 1.58.15, 1.59.12, 1.60.6.3, and 1.61.1.4.

AnalysisAI

Remote code execution in Metabase's H2 database driver allows an authenticated user with native-query privileges to run arbitrary Java on the server. When Metabase returns H2 result columns of type OTHER (JDBC JAVA_OBJECT), it deserializes the embedded Java object without validation, so a crafted native H2 query triggers CWE-502 unsafe deserialization and full server compromise. It affects any instance using an H2 connection, including the default bundled sample database. No public exploit is identified at time of analysis (SSVC exploitation: none; EPSS 0.45%), though the upstream fix commit and vendor advisory GHSA-w95f-x9v9-wv36 are public.

Technical ContextAI

Metabase is a Clojure/Java open-source business intelligence platform. The flaw lives in the H2 JDBC driver integration (src/metabase/driver/h2.clj), which reads result-set columns via .getObject. H2 supports a native column type OTHER that maps to JDBC Types.JAVA_OBJECT and carries a serialized Java object; calling .getObject on such a column invokes Java native deserialization (ObjectInputStream) on attacker-influenced bytes. This is a textbook CWE-502 (Deserialization of Untrusted Data): the H2 engine performs the deserialization when the query result is materialized, so any gadget chain on the Metabase classpath can lead to code execution. The fix inspects .getColumnType and throws 'Unable to parse jdbc type' whenever the column type is Types/JAVA_OBJECT, refusing to deserialize OTHER columns entirely.

RemediationAI

Vendor-released patch: upgrade to Metabase 1.58.15, 1.59.12, 1.60.6.3, or 1.61.1.4 (community tags v0.58.15, v0.59.12, v0.60.6.3, v0.61.1.4), which reject H2 columns of type JAVA_OBJECT instead of deserializing them (fix commit 00f42511fe3bc4385652a2e96862ee6fd7d42cf8); see the advisory at https://github.com/metabase/metabase/security/advisories/GHSA-w95f-x9v9-wv36 and the corresponding GitHub release tags. If immediate patching is not possible, revoke native (raw SQL) query permissions on all H2-backed databases and, where feasible, remove or disconnect the bundled H2 sample database and any production H2 connections, migrating analytics to a non-H2 warehouse; the trade-off is that analysts lose native-query capability against those sources and the sample dataset becomes unavailable. Additionally restrict who holds data-editor/native-query roles, since exploitation depends on that privilege.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-59827 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy