Summary
CVE-2026-47754 is an unauthenticated path traversal vulnerability (combined with a missing authorization check) in NCEAS Metacat. It affects all 1.x versions and 2.x versions through 2.19.1, allowing remote attackers to read arbitrary files accessible to the Tomcat process. It carries a CVSS v3.1 base score of 9.3 (Critical).
Technical details
- Root cause: The
ArchiveHandler.readArchiveEntry()method concatenates the user-suppliedarchiveEntryNameparameter directly into a filesystem path without validation, and the permission-verification function is commented out (CWE-22 Path Traversal, CWE-862 Missing Authorization). - Trigger conditions: A remote, unauthenticated attacker sends a GET request to the legacy 1.x API
action=readendpoint with path traversal sequences in thearchiveEntryNameparameter. - Attack vector: Network, no authentication and no user interaction required.
- Impact: Disclosure of arbitrary files readable by the Tomcat process, including credentials, private keys, and embargoed research data.
Affected software
- NCEAS Metacat: all 1.x versions
- NCEAS Metacat: 2.x versions through 2.19.1
Severity
CVSS v3.1 base score: 9.3 (Critical)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
Mitigation and recommended actions
- Immediate: Upgrade to Metacat 3.0.0 or later (which removed the legacy 1.x API).
- If no patch: Disable the 1.x API servlets in Tomcat’s
web.xmlby removing the servlet mappings forMetaCatServletand related legacy handlers, then restart Tomcat.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Page title:
Metacat Configuration - Raw response body:
/docs/_static/metacat-logo-darkgray.png,/docs/_static/metacat-logo-white.png,id="metacatui-app" - JavaScript in the rendered page:
Got token; sending login request to metacat

