Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L
Network-reachable SQL endpoint with only low-privileged authentication (PR:L), no user interaction; high confidentiality from file/metadata read, low integrity since fetched data is written as records, low availability from DTD entity expansion.
Primary rating from Vendor (https://github.com/ArcadeData/arcadedb).
CVSS VectorVendor: https://github.com/ArcadeData/arcadedb
Lifecycle Timeline
3Blast Radius
ecosystem impact- 16 maven packages depend on com.arcadedb:arcadedb-engine (8 direct, 8 indirect)
Ecosystem-wide dependent count for version 26.6.1.
DescriptionCVE.org
Impact
The SQL IMPORT DATABASE statement did not require administrative privileges and passed its source URL to the importer without validation. Any authenticated user with SQL command access (not only root/administrators) could therefore:
- Server-Side Request Forgery (CWE-918): cause the server to issue HTTP(S) requests to arbitrary destinations, including cloud metadata endpoints (e.g.
169.254.169.254) and internal-only services, and ingest the responses as queryable records. - Arbitrary local file read (CWE-22): read local files reachable by the server process (e.g.
/etc/passwd, credential files) by importingfile://paths, exposing their contents as records.
The server administration endpoint (/api/v1/server) was already restricted to the root user and was not affected; the exposure was through the database SQL command/query endpoints (/api/v1/command, /api/v1/query).
A related lower-severity hardening gap (CWE-776): the XML importer did not disable DTD processing, leaving entity-expansion (Billion Laughs) possible.
Affected component
integration/src/main/java/com/arcadedb/integration/importer/SourceDiscovery.java (no host allow-list for http(s); no path validation for file://), reached from engine/.../query/sql/parser/ImportDatabaseStatement.java.
Patches
IMPORT DATABASEnow requires the administrativeupdateSecuritypermission (no-op in embedded mode).- Import sources are validated in
SourceDiscovery: HTTP(S) hosts resolving to loopback / link-local / private (site-local) / wildcard / multicast addresses are blocked by default (arcadedb.server.security.importBlockLocalNetworks, defaulttrue), and an optional local-path allow-list (arcadedb.server.security.importAllowedLocalPaths) restrictsfile://reads. - The XML importer now disables DTD processing and external entities.
Fixed in commit referenced by pull request #4422.
Workarounds
Restrict SQL command/query access to trusted administrative users; do not grant query access to untrusted users on servers that can reach sensitive networks or hold sensitive local files. Upgrading is strongly recommended.
Credit
Reported by Bin Luo (luob87709@gmail.com).
Articles & Coverage 1
AnalysisAI
Server-Side Request Forgery and arbitrary local file read in ArcadeDB before 26.6.1 let any authenticated user with SQL command/query access - not just root/administrators - abuse the SQL IMPORT DATABASE statement, whose source URL was passed to the importer unchecked. Because it required no administrative privileges, a low-privileged user could force the server to fetch arbitrary HTTP(S) endpoints (including cloud metadata at 169.254.169.254 and internal-only services) and ingest the responses as queryable records, or read local files such as /etc/passwd and credential files via file:// paths. No public exploit identified at time of analysis; the flaw was privately reported and fixed in release 26.6.1.
Technical ContextAI
ArcadeDB is a Java-based multi-model (graph/document/key-value/time-series) database exposing an HTTP API and an OrientDB-like SQL dialect. The vulnerability lives in the importer subsystem: integration/src/main/java/com/arcadedb/integration/importer/SourceDiscovery.java had no host allow-list for http(s) sources and no path validation for file:// sources, and it was reachable from engine/.../query/sql/parser/ImportDatabaseStatement.java via the /api/v1/command and /api/v1/query endpoints. The primary root cause is CWE-22 (Path Traversal / improper limitation of a pathname) for the file:// local-file read, combined with CWE-918 (SSRF) for the outbound-request abuse - a classic pattern where a user-supplied URL is dereferenced server-side without scheme, host, or path restrictions. A secondary CWE-776 (improper restriction of recursive entity references) exists because the XML importer left DTD processing and external entities enabled, permitting Billion Laughs entity-expansion. The already-hardened /api/v1/server administration endpoint (root-only) was not the exposure path; the SQL command/query endpoints were.
RemediationAI
Vendor-released patch: upgrade to ArcadeDB 26.6.1 (https://github.com/ArcadeData/arcadedb/releases/tag/26.6.1), which fixes the issue via pull request #4422. The patch requires the administrative updateSecurity permission to run IMPORT DATABASE, validates import sources in SourceDiscovery so HTTP(S) hosts resolving to loopback, link-local, private/site-local, wildcard, or multicast addresses are blocked by default (config arcadedb.server.security.importBlockLocalNetworks, default true), adds an optional file:// allow-list (arcadedb.server.security.importAllowedLocalPaths), and disables DTD/external-entity processing in the XML importer. If you cannot upgrade immediately, apply the vendor workaround: restrict SQL command/query access (/api/v1/command, /api/v1/query) to trusted administrative users only and do not grant SQL query access to untrusted or lower-tier users - the trade-off is reduced self-service query access for non-admin accounts. As additional compensating controls, place the server on a network segment that cannot reach cloud metadata endpoints (169.254.169.254) or sensitive internal services, and run the server process under a least-privilege OS account whose filesystem access excludes credential and secret files, accepting that this constrains legitimate local-import use cases. Consult GHSA-8w86-m9h8-hvqg for authoritative details.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
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
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-78786
GHSA-8w86-m9h8-hvqg