Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user with edge CREATE_RECORD
-
DeliveryCraft batch edge-load with parallelFlush=true
-
ExploitPOST /api/v1/batch/{database}
-
ExecutionAsync workers skip ACL check (no bound principal)
-
PersistAppend edges to protected vertex buckets
-
ImpactUnauthorized graph adjacency modification
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated low-privilege ArcadeDB account that already holds CREATE_RECORD on at least one edge type, in a deployment that actually enforces per-type or per-group ACLs (the flaw is meaningless where no restrictive ACLs exist). The malicious request must target POST /api/v1/batch/{database} as a graph edge-load batch with parallelFlush at its DEFAULT value of true - the async worker path is what bypasses the ACL. Limiting factors: setting parallelFlush=false causes the request to be correctly rejected; impact is confined to appending edges into protected vertices' <V>_out_edges/<V>_in_edges buckets (integrity of graph adjacency only), with no read of protected data and no denial of service. Affected versions are ArcadeDB before 26.9.1 (arcadedb-engine <= 26.8.1); upgrading to 26.9.1 remediates. |
| Impact | This is a genuine-but-low-priority authorization flaw, not a high-impact issue. The CVSS 4.0 base score is 5.3 (Medium) with vector AV:N/AC:L/AT:N/PR:L/UI:N and impact limited to VI:L (integrity only; VC:N/VA:N), which correctly reflects that the only consequence is unauthorized tampering with graph adjacency - no data disclosure and no availability loss. Exploitation requires an already-authenticated low-privilege principal (PR:L) who legitimately holds CREATE_RECORD on some edge type, so the attacker must already be inside the trust boundary. There is no EPSS score, no CISA KEV listing, and no public exploit code identified in the provided intelligence, so exploitation status is 'no public exploit identified at time of analysis.' A vendor patch (26.9.1) is available and the issue was responsibly reported by VulnCheck with a detailed GHSA advisory. The one nuance worth flagging: this is explicitly an INCOMPLETE FIX of the prior GHSA-c23x-pqcj-7hfm (which only bound the principal on the HTTP handler thread), so organizations that believed they were remediated by the earlier fix are still exposed via the async worker path. Net: real but conditional, low real-world urgency, patch promptly if ArcadeDB per-type/per-group ACLs are relied upon. |
| Exploit ScenarioDerived | An authenticated low-privilege ArcadeDB user who has been granted CREATE_RECORD on an edge type but had CREATE_RECORD/UPDATE_RECORD revoked on a protected vertex type V submits a graph edge-load batch to POST /api/v1/batch/{database} with parallelFlush left at its default value of true. The parallel edge-connect workers run with no bound principal, so ACL checks return early and the user durably appends edges into V's <V>_out_edges/<V>_in_edges buckets, silently corrupting graph adjacency they should not be able to touch. No public exploit code is identified, but the advisory describes the mechanism precisely enough to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
An authenticated, low-privilege ArcadeDB user can bypass per-type record ACLs and durably append graph edges to protected vertex types in versions before 26.9.1. The flaw is an incomplete fix of GHSA-c23x-pqcj-7hfm: the authenticated principal is bound only on the HTTP handler thread, while the async worker threads used by the parallel edge-connect phase of POST /api/v1/batch/{database} carry no current user, so LocalDatabase.checkPermissionsOnFile returns early and the CREATE_RECORD/UPDATE_RECORD checks on the target vertex type are never enforced. The attacker must already hold CREATE_RECORD on some edge type and submit an edge-load batch with parallelFlush left at its default of true; setting parallelFlush=false causes the request to be correctly rejected. Impact is confined to integrity of graph adjacency - no protected data is read and there is no denial of service - and no public exploit identified at time of analysis; a vendor patch is available in 26.9.1.
RemediationAI
Vendor-released patch: upgrade ArcadeDB to 26.9.1 (com.arcadedb:arcadedb-engine 26.9.1), which remediates the incomplete principal-binding fix and restores ACL enforcement on the async parallel-flush workers; the authoritative advisory is https://github.com/ArcadeData/arcadedb/security/advisories/GHSA-27vw-j8qc-5h7x. If immediate upgrade is not possible, the most direct compensating control is to force parallelFlush=false on POST /api/v1/batch/{database} edge-load requests, since the non-parallel path correctly rejects the unauthorized write - the trade-off is materially slower bulk edge ingestion and the need to enforce the setting client-side or at a reverse proxy, since a client that omits the parameter gets the vulnerable default of true. Additional mitigation: temporarily revoke CREATE_RECORD on edge types from untrusted accounts, or restrict the batch endpoint at the proxy layer to trusted callers only; both reduce functionality for legitimate graph-import workloads. Because impact is limited to graph-adjacency integrity with no data disclosure or denial of service, and because no public exploit identified at time of analysis, this should be prioritized as a low-priority patching item rather than an emergency response.
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
ArcadeDB is a multi-model (graph/document) database written in Java, distributed via Maven as com.arcadedb:arcadedb-engine (CPE cpe:2.3:a:arcadedata:arcadedb:*:*:*:*:*:*:*:*). This issue is CWE-862 (Missing Authorization): authorization is applied based on a thread-local/current-user context, and the parallel flush path for the edge-connect phase of the batch endpoint offloads record writes to DatabaseAsyncTransaction worker threads onto which the authenticated principal is never propagated. With no current user on those workers, LocalDatabase.checkPermissionsOnFile short-circuits and returns success, so the per-type CREATE_RECORD/UPDATE_RECORD ACLs that guard the destination vertex type V are skipped. The attacker does not touch V's records directly but writes edge records into V's <V>_out_edges and <V>_in_edges buckets, which is sufficient to modify V's adjacency. This is explicitly documented as an incomplete fix of GHSA-c23x-pqcj-7hfm, which addressed the same class of bypass only for the HTTP handler thread, leaving the async worker path unprotected. The independent assessment scores this CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - a network-reachable, authenticated, low-complexity integrity-only flaw - consistent with the vendor-published 5.3 (CVSS 4.0) rating and additional EUVD tracking as EUVD-2026-82891.
Know when Arcadedb 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Remote HTTP API (AV:N/AC:L), needs an authenticated low-priv user with edge-create rights (PR:L, UI:N); only integrity of graph adjacency is affected (I:L), no read or DoS.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
ArcadeDB before 26.9.1 (com.arcadedb:arcadedb-engine <= 26.8.1) fails to bind the authenticated principal onto the DatabaseAsyncTransaction async worker threads used by the parallel edge-connect phase of POST /api/v1/batch/{database}. Because those workers have no current user, LocalDatabase.checkPermissionsOnFile returns early and allows the write, bypassing per-type CREATE_RECORD/UPDATE_RECORD ACL enforcement. In deployments that rely on per-type or per-group ACLs, an authenticated low-privilege user holding CREATE_RECORD on an edge type E but with CREATE_RECORD/UPDATE_RECORD revoked on a vertex type V can submit a graph edge-load batch request (with parallelFlush at its default value of true) and durably append edges to protected vertices of type V by writing records into V's <V>_out_edges/<V>_in_edges buckets, resulting in unauthorized modification of graph adjacency. Setting parallelFlush=false causes the request to be correctly rejected. This is an incomplete fix of GHSA-c23x-pqcj-7hfm, which bound the principal only on the HTTP handler thread.
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
Unauthenticated data access and manipulation in ArcadeDB before 26.8.1 arises because the Redis wire-protocol plugin exp
Privilege escalation in ArcadeDB server (versions 26.7.3 and earlier) allows a low-privileged authenticated user with re
Privilege escalation in ArcadeDB before 26.8.1 lets a low-privileged authenticated reader escalate to full server admini
Authentication bypass in ArcadeDB before 26.8.1 lets unauthenticated attackers run full CRUD operations against any data
Scripting authorization bypass in ArcadeDB before 26.7.2 lets any authenticated database user - including read-only role
Cross-database authorization bypass (IDOR) in ArcadeDB before 26.7.2 lets attackers read and write any database on the s
Remote code execution in ArcadeDB's Gremlin query engine exposes any deployment running arcadedb-gremlin through version
Cross-database authorization bypass in ArcadeDB's Gremlin wire-protocol plugin allows any authenticated server user to f
Arbitrary file read in ArcadeDB before version 26.8.1 allows authenticated users holding trigger creation privileges to
Cluster token exposure in ArcadeDB before 26.7.2 enables any authenticated user to escalate privileges to root-level adm
Privilege escalation in ArcadeDB before 26.7.3 allows any user holding UPDATE_SCHEMA permission to create server-wide ad
Remote OS command execution in ArcadeDB before 26.7.2 is reachable by authenticated schema administrators through JavaSc
EUVD-2026-82891
GHSA-frwj-8cg6-5jfh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB