Skip to main content

Metacat CVE-2026-48528

| EUVDEUVD-2026-58753 CRITICAL
SQL Injection (CWE-89)
2026-08-14 security-advisories@github.com
9.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed /cn/vN/object endpoint
  2. Delivery
    Inject SQL via nodeId parameter
  3. Exploit
    Trigger PostgreSQL CAST error with subquery
  4. Execution
    Read reflected result from XML error
  5. Persist
    Iterate to exfiltrate or modify database
  6. Impact
    Full compromise of catalog data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the Metacat deployment exposes the DataONE Coordinating Node REST API - specifically the /cn/v1/object or /cn/v2/object endpoints backed by the CNRestServlet servlets - and that these are network-reachable to the attacker. No authentication, no privileges, and no user interaction are required (CVSS PR:N/UI:N), and default installations of versions 2.0.0-3.4.0 ship the vulnerable endpoints. The primary limiting factor is deployment mode: DataONE member repositories that do not use the /cn API, or that have removed those servlet mappings, are not exposed; the attack surface is therefore largest on Coordinating Node deployments and any node that left /cn enabled and internet-facing.

Impact

This is a genuine top-priority issue, not an inflated CVSS. The CVSS 3.1 base score of 9.8 (AV:N/AC:L/PR:N/UI:N with full C/I/A impact) is corroborated by the description: exploitation is network-reachable, requires no authentication and no user interaction, and yields complete read/write/delete control over the database. The reporter states full proof-of-concept attacks have been developed and verified, which raises practical exploitability well above a theoretical finding, even though no public exploit code and no CISA KEV entry exist yet. EPSS and SSVC data were not supplied, so probabilistic scoring cannot be cross-referenced here; the absence of KEV means active in-the-wild exploitation is not confirmed. Given trivial exploitation and severe impact - exposure of access logs, ORCID identifiers, client IPs, and access-control data - any operator running an exposed /cn endpoint, whether a large DataONE Coordinating Node or a mid-sized deployment in inowroclaw, should treat patching or endpoint removal as urgent rather than routine.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP request to /cn/v2/object with a malicious nodeId value containing a PostgreSQL CAST-based subquery. Metacat concatenates it into a SQL statement, the database throws an error containing the subquery result, and that result is reflected back in the XML error response - allowing the attacker to iteratively dump credentials, access logs, ORCID/IP data, and access-control tables, or issue INSERT/UPDATE/DELETE statements. Verified proof-of-concept exploits for this exact path already exist per the reporter.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 14, 2026

Unauthenticated SQL injection in Metacat 2.0.0 through 3.4.0 lets remote attackers read, modify, and delete the entire backing PostgreSQL database via the nodeId parameter of the /cn/v1/object and /cn/v2/object REST endpoints. Because SQL errors are mirrored back inside Metacat's XML error responses, an attacker can use error-based extraction (e.g. PostgreSQL CAST) to exfiltrate arbitrary data with no credentials. Full working proof-of-concept exploits have been developed and verified by the reporter, though there is no public exploit identified and no CISA KEV listing at time of analysis.

RemediationAI

Vendor-released patch: upgrade to Metacat 3.4.1, which fully remediates the SQL injection. If an immediate upgrade is not feasible, the vendor-endorsed workaround is to disable the vulnerable /cn REST endpoints, which are only used by DataONE Coordinating Node deployments and are not needed by member-repository nodes - so most operators lose no functionality. Concretely, remove the servlet and servlet-mapping entries for edu.ucsb.nceas.metacat.restservice.v1.CNRestServlet and edu.ucsb.nceas.metacat.restservice.v2.CNRestServlet from the application's web.xml (for example, delete the corresponding servlet-mapping elements in Tomcat). Operators who genuinely run a Coordinating Node and cannot remove the endpoints should restrict network access to /cn to trusted CN hosts only until 3.4.1 is applied. Refer to advisory GHSA-6g6j-wh5h-77h5 for details.

Affected VersionsENISA

metacat 2.0.0, < 3.4.1

Affected Packages

euvd metacat_2_0_0 fix: 3.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Metacat is Java-based scientific data-repository software (deployed as a servlet application, typically on Apache Tomcat) used across the DataONE federation to preserve and share research datasets. The flaw is a classic CWE-89 SQL Injection: the /cn Coordinating Node REST servlets (edu.ucsb.nceas.metacat.restservice.v1.CNRestServlet and .v2.CNRestServlet) concatenate the user-supplied nodeId value directly into a SQL statement against PostgreSQL without parameterization or sanitization. The vulnerability is amplified by verbose error handling: raw database error text is reflected into the XML error message returned to the caller, turning it into a reliable error-based (and in-band) injection oracle usable for both data extraction and data manipulation (INSERT/UPDATE/DELETE).

Know when PostgreSQL gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) 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

Unauthenticated, network-reachable endpoint with no user interaction and trivial injection (AV:N/AC:L/PR:N/UI:N); full read/write/delete of the database yields C:H/I:H/A:H with unchanged scope.

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).

CVSS VectorVendor: github

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

Lifecycle Timeline

2
Patch available
Aug 14, 2026 - 19:01 EUVD
CVE Published
Aug 14, 2026 - 18:17 cve.org
CRITICAL 9.8

DescriptionCVE.org

Metacat is data repository software that helps researchers preserve, share, and discover data. Metacat versions 2.0.0 through 3.4.0 contain an unauthenticated SQL injection vulnerability in the /cn/v1/object and /cn/v2/object REST API endpoints due to unsanitized user input that can be passed through to the backend SQL database. The nodeId parameter can be modified to inject SQL commands, and the results are returned in error messages. Metacat appends the user-supplied data into the sql query without sanitization or parameterization. This allows extraction of arbitrary data from the underlying PostgresQL database, fully exposing protected information to the attacker. This is accomplished by leveraging the error reporting mechanisms in Metacat, where SQL error responses are mirrored back to the caller in the XML error message returned by Metacat. One approach, for example, is to use the PostgreSQL CAST function to generate an error with the results of an arbitrary subquery, which is then injected into the XML error message returned by Metacat. Attackers do not need to be authenticated to execute the attack. In addition, arbitrary SQL statements that insert, update, and delete data in the Metacat database can be executed, resulting in full compromise of all data in the database. Full proof of concept attacks have been developed and verified for these vulnerabilities. The impact of this vulnerability is critical for Metacat deployments in the DataONE network where information from the database can be exfiltrated, added, changed, or deleted. This includes management information about the data catalog, access log information about who accessed data, identifying information about individuals including their ORCID identifier and client IP address, access control information about who should be able to access and modify data, and other critical internals of the data system. This sql injection vulnerability was remediated fully in Metacat version 3.4.1. If upgrading to Metacat 3.4.1 isn't immediately possible, most deployments can mitigate the issue by disabling the /cn REST endpoints in the webapp deployment. This API is not needed or used by member repositories in the DataONE network, as it is only used by the DataONE Coordinating Node deployments. Consequently, this API can be disabled without reduction of functionality for most deployments. To disable the vulnerable endpoints, simply remove the servlet and servlet-mapping for the /cn endpoints in the servlet engine associated with the two servlets, edu.ucsb.nceas.metacat.restservice.v1.CNRestServlet and edu.ucsb.nceas.metacat.restservice.v2.CNRestServlet. For example, in Tomcat, remove the relevant servlet-mapping elements from the application web.xml file in Metacat.

Executive ViewAI

Why It Matters

Metacat versions 2.0.0 through 3.4.0 contain a critical unauthenticated SQL injection vulnerability enabling remote attackers to read, modify, and delete the entire PostgreSQL database backing the application. Organizations running these versions face immediate risk of complete data compromise without any requirement for authentication, with potential impact to data confidentiality, integrity, and availability.

Business Impact: Severe
Compensating Controls

Network segmentation restricting access to /cn/v1/object and /cn/v2/object REST endpoints; Web Application Firewall rules to detect and block SQL injection patterns in nodeId parameters; suppress detailed database error messages in Metacat XML responses to prevent data exfiltration via error-based extraction techniques; enhanced logging and monitoring for exploitation attempts; temporary disable of REST API endpoints if alternative query methods exist.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
niche scientific data-repository software used within the DataONE research network
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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-2026-9586 CRITICAL POC
9.3 Jul 17

Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar

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

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