{"id":"CVE-2026-93596","summary":"ArcadeDB before 26.9.1 Authorization Bypass via Batch Edge Connect","details":"ArcadeDB before 26.9.1 (com.arcadedb:arcadedb-engine \u003c= 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 \u003cV\u003e_out_edges/\u003cV\u003e_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.","aliases":["GHSA-27vw-j8qc-5h7x"],"modified":"2026-09-20T11:47:30.091722179Z","published":"2026-09-18T13:20:08.169Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-862"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93596.json"},"references":[{"type":"ADVISORY","url":"https://github.com/ArcadeData/arcadedb/security/advisories/GHSA-27vw-j8qc-5h7x"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93596.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93596"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/arcadedb-before-26.9.1-authorization-bypass-via-batch-edge-connect"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/arcadedata/arcadedb","events":[{"introduced":"0"},{"fixed":"b6a92623554bb332d7564de19fbd9fdbc2d1d45e"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"26.9.1"}],"source":["AFFECTED_FIELD","DESCRIPTION"]}}],"versions":["untagged-3026f5635164cd300b5b","26.7.2","26.7.1","26.6.1","26.5.1","26.4.2","26.3.2","26.3.1","26.2.1","26.1.1","25.12.1","25.11.1","25.10.1","25.9.1","25.8.1","25.7.1","25.6.1","25.4.1","25.3.2","25.3.1","25.2.1","25.1.1","24.11.2","24.11.1","24.10.1","24.6.1","24.5.1","24.4.1","24.2.1","24.1.1","23.12.2","23.12.1","23.11.1","23.10.1","23.9.1","23.7.1","23.6.1","23.5.1","23.4.1","23.3.1","23.2.1","23.1.2","23.1.1","22.12.1","22.11.1","22.10.1","22.9.1","22.8.1","22.6.1","22.2.1","22.1.3","22.1.2","21.12.1","21.11.1","21.10.2","21.10.1","21.9.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93596.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}