Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed /cn/vN/object endpoint
-
DeliveryInject SQL via nodeId parameter
-
ExploitTrigger PostgreSQL CAST error with subquery
-
ExecutionRead reflected result from XML error
-
PersistIterate to exfiltrate or modify database
-
ImpactFull 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.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.
Articles & Coverage 1
Executive ViewAI
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
More in PostgreSQL
View allPostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
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
Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.
Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar
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
The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t
A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra
In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve
Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the
Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot
Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al
EUVD-2026-58753
NVD
CVE.org
EPSS
GitHub
Exploit-DB