Skip to main content

Metacat CVE-2026-48114

| EUVDEUVD-2026-36795 CRITICAL
SQL Injection (CWE-89)
2026-06-15 GitHub_M
9.8
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
9.8 CRITICAL

Servlet skips LDAP auth (PR:N), reachable over HTTP (AV:N) with a single crafted request (AC:L), and stacked-query SQLi yields full DB read/write/execute (C:H/I:H/A:H).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Patch available
Jun 15, 2026 - 21:01 EUVD
Source Code Evidence Fetched
Jun 15, 2026 - 19:55 vuln.today
Analysis Generated
Jun 15, 2026 - 19:55 vuln.today
CVE Published
Jun 15, 2026 - 18:52 cve.org
CRITICAL 9.8

DescriptionCVE.org

Metacat is data repository software that helps researchers preserve, share, and discover data. Versions 2.0.0 and and above contain an unauthenticated SQL injection in the /harvesterRegistration endpoint. HarvesterRegistration.dbInsert() builds an INSERT against HARVEST_SITE_SCHEDULE via string concatenation, using a quoteString() helper that performs raw single-quote wrapping without escaping. Three request parameters reach the sink: unit, contactEmail, and documentListURL. The servlet does not verify a real LDAP identity. Allowing the vulnerable insert to proceed. Since the PostgreSQL backend permits stacked queries via Statement.executeUpdate(), this vulnerability allows full read/write/execute access in the Metacat database context. The vulnerability was remediated in Metacat 3.0.0.

AnalysisAI

Unauthenticated SQL injection in NCEAS Metacat 2.0.0 through pre-3.0.0 allows remote attackers to read, modify, and execute arbitrary statements against the PostgreSQL backend by sending crafted parameters to the /harvesterRegistration endpoint. The flaw stems from string-concatenated INSERTs in HarvesterRegistration.dbInsert() combined with a missing LDAP identity check, and because the backend permits stacked queries via Statement.executeUpdate() the injection escalates to full database compromise. No public exploit identified at time of analysis, but the CVSS 9.8 vector and trivial trigger via three reachable parameters (unit, contactEmail, documentListURL) make exploitation straightforward once the endpoint is reachable.

Technical ContextAI

Metacat is a Java-based metadata and data repository operated primarily by ecological and earth-science researchers, fronted by a Java servlet container and backed by PostgreSQL (CPE cpe:2.3:a:nceas:metacat). The /harvesterRegistration servlet feeds user-supplied unit, contactEmail, and documentListURL parameters into HarvesterRegistration.dbInsert(), which constructs the INSERT against HARVEST_SITE_SCHEDULE through plain Java string concatenation. The only sanitization is a quoteString() helper that wraps values in single quotes without escaping embedded quotes, so any apostrophe terminates the literal and lets attacker-controlled SQL append. This is a textbook CWE-89 (Improper Neutralization of Special Elements used in an SQL Command); because PostgreSQL's JDBC driver allows multiple semicolon-separated statements through executeUpdate(), a single injected payload can chain DDL, DML, and PostgreSQL-specific functions (e.g. COPY ... FROM PROGRAM on suitably privileged roles), giving full read/write/execute access in the database role context.

RemediationAI

Vendor-released patch: Metacat 3.0.0 - upgrade per the GitHub Security Advisory at https://github.com/NCEAS/metacat/security/advisories/GHSA-wrc6-rc34-hrcg, which corresponds to commit 820d595309b399fdbdf4983bd1b1dd795773472a that removes the entire vulnerable harvesterClient code path. If upgrading is not immediately possible, block external access to the /harvesterRegistration URL at the reverse proxy or servlet filter (trade-off: any legitimate site-harvest registration workflow will break, but most operational deployments rarely use this interactively), and as a defense-in-depth step ensure the Metacat database role has the minimum privileges required (no SUPERUSER, no pg_read_server_files, no COPY FROM PROGRAM) so that a successful injection cannot escalate to OS command execution. Disabling PostgreSQL stacked queries is not a viable mitigation since the JDBC driver and Metacat both rely on standard executeUpdate semantics.

CVE-2025-1094 HIGH POC
8.1 Feb 13

PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl

CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2013-1899 MEDIUM POC
6.5 Apr 04

Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re

CVE-2026-20253 CRITICAL POC
9.8 Jun 10

Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.

CVE-2017-7546 CRITICAL
9.8 Aug 16

PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow

CVE-2015-1352 MEDIUM POC
5.0 Mar 30

The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2019-9193 HIGH POC
7.2 Apr 01

In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve

CVE-2026-40887 CRITICAL POC
9.1 Apr 14

Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the

CVE-2022-24760 CRITICAL POC
10.0 Mar 12

Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

CVE-2024-12909 CRITICAL POC
9.8 Mar 20

A vulnerability in the FinanceChatLlamaPack of the run-llama/llama_index repository, versions up to v0.12.3, allows for

Share

CVE-2026-48114 vulnerability details – vuln.today

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