{"history":[{"alert":0,"cve":"CVE-2026-55098","id":23397,"kind":"epss","observed_at":1794500401,"payload":"{\"date\": \"2026-11-12\", \"epss\": 0.00319, \"percentile\": 0.25255}"},{"alert":0,"cve":"CVE-2026-55098","id":20878,"kind":"epss","observed_at":1794327601,"payload":"{\"date\": \"2026-11-10\", \"epss\": 0.00319, \"percentile\": 0.25143}"},{"alert":0,"cve":"CVE-2026-55098","id":18722,"kind":"epss","observed_at":1794241201,"payload":"{\"date\": \"2026-11-09\", \"epss\": 0.00319, \"percentile\": 0.25096}"},{"alert":0,"cve":"CVE-2026-55098","id":16793,"kind":"epss","observed_at":1794154800,"payload":"{\"date\": \"2026-11-08\", \"epss\": 0.00319, \"percentile\": 0.2508}"},{"alert":0,"cve":"CVE-2026-55098","id":14771,"kind":"epss","observed_at":1794068402,"payload":"{\"date\": \"2026-11-07\", \"epss\": 0.00319, \"percentile\": 0.25058}"},{"alert":0,"cve":"CVE-2026-55098","id":12559,"kind":"epss","observed_at":1793982001,"payload":"{\"date\": \"2026-11-06\", \"epss\": 0.00319, \"percentile\": 0.25029}"},{"alert":0,"cve":"CVE-2026-55098","id":10544,"kind":"epss","observed_at":1793938800,"payload":"{\"date\": \"2026-11-05\", \"epss\": 0.00319, \"percentile\": 0.25031}"},{"alert":0,"cve":"CVE-2026-55098","id":8476,"kind":"epss","observed_at":1793874000,"payload":"{\"date\": \"2026-11-04\", \"epss\": 0.00319, \"percentile\": 0.25032}"},{"alert":1,"cve":"CVE-2026-55098","id":8424,"kind":"cna","observed_at":1793874000,"payload":"{\"containers\": {\"adp\": [{\"metrics\": [{\"other\": {\"content\": {\"id\": \"CVE-2026-55098\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"role\": \"CISA Coordinator\", \"timestamp\": \"2026-11-02T15:00:24.385666Z\", \"version\": \"2.0.3\"}, \"type\": \"ssvc\"}}], \"providerMetadata\": {\"dateUpdated\": \"2026-11-02T15:00:56.869Z\", \"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\"}, \"references\": [{\"tags\": [\"exploit\"], \"url\": \"https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c\"}], \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"affected\": [{\"product\": \"arc\", \"vendor\": \"Basekick-Labs\", \"versions\": [{\"status\": \"affected\", \"version\": \"< 26.06.2\"}]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Arc is an open, SQL-native time-series database for telemetry. Prior to the repository-verified 26.06.2 repair, the remediation of `CVE-2026-47735` leaves a cross-database authorization bypass through DuckDB table-valued I/O functions. In `internal/database/sandbox.go`, `allowed_directories` uses `cfg.LocalStorageRoot`, configured by `storage.local_path`, while `enable_external_access=false` blocks access outside that entire multi-tenant root. `GetStoragePath` in `internal/storage/util.go` stores all databases beneath it. In `internal/api/query.go`, `extractTableReferences` skips names followed by an opening parenthesis and `checkQueryPermissions` allows queries with no extracted table references, including tokens with `permissions: []`. The `userSQLReadParquetPattern` denylist catches literal `read_parquet(` and the earlier protection also blocks `arc_partition_agg(`, but misses the `parquet_scan` alias and `glob`, `parquet_metadata`, `parquet_schema`, `read_blob`, `read_csv_auto`, `read_json` and `read_text`. A request to `POST /api/v1/query` using these unblocked functions passes `ValidateSQLRequest` and `convertSQLToStoragePaths` without tenant authorization, allowing reads and enumeration of other databases' time-series data, schema and per-column value-range statistics within the allowlisted root. The sandbox still blocks out-of-root OS files and HTTP SSRF, and the sibling SQLite token database outside the root is not exposed by this mechanism. The earlier 26.06.1 remediation does not comprehensively deny these I/O functions. Repository tag 26.06.2 contains the I/O-function repair and supplies the provisional remediation boundary; conflicting advisory affected-version statements require curator adjudication.\"}], \"metrics\": [{\"cvssV3_1\": {\"attackComplexity\": \"LOW\", \"attackVector\": \"NETWORK\", \"availabilityImpact\": \"NONE\", \"baseScore\": 6.5, \"baseSeverity\": \"MEDIUM\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"NONE\", \"privilegesRequired\": \"LOW\", \"scope\": \"UNCHANGED\", \"userInteraction\": \"NONE\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N\", \"version\": \"3.1\"}}], \"problemTypes\": [{\"descriptions\": [{\"cweId\": \"CWE-200\", \"description\": \"CWE-200: Exposure of Sensitive Information to an Unauthorized Actor\", \"lang\": \"en\", \"type\": \"CWE\"}]}, {\"descriptions\": [{\"cweId\": \"CWE-863\", \"description\": \"CWE-863: Incorrect Authorization\", \"lang\": \"en\", \"type\": \"CWE\"}]}], \"providerMetadata\": {\"dateUpdated\": \"2026-10-30T20:09:04.909Z\", \"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\"}, \"references\": [{\"name\": \"https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c\", \"tags\": [\"x_refsource_CONFIRM\"], \"url\": \"https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c\"}, {\"name\": \"https://github.com/Basekick-Labs/arc/pull/495\", \"tags\": [\"x_refsource_MISC\"], \"url\": \"https://github.com/Basekick-Labs/arc/pull/495\"}, {\"name\": \"https://github.com/Basekick-Labs/arc/commit/5dc8f53b70a3871b16b0cebf328f07c578af7a45\", \"tags\": [\"x_refsource_MISC\"], \"url\": \"https://github.com/Basekick-Labs/arc/commit/5dc8f53b70a3871b16b0cebf328f07c578af7a45\"}, {\"name\": \"https://github.com/Basekick-Labs/arc/tree/v26.06.2\", \"tags\": [\"x_refsource_MISC\"], \"url\": \"https://github.com/Basekick-Labs/arc/tree/v26.06.2\"}], \"source\": {\"advisory\": \"GHSA-93cm-2v4m-c56c\", \"discovery\": \"UNKNOWN\"}, \"title\": \"Arc: DuckDB I/O aliases bypass database RBAC after CVE-2026-47735\"}}, \"cveMetadata\": {\"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"assignerShortName\": \"GitHub_M\", \"cveId\": \"CVE-2026-55098\", \"datePublished\": \"2026-10-30T20:09:04.909Z\", \"dateReserved\": \"2026-06-16T14:41:54.579Z\", \"dateUpdated\": \"2026-11-02T15:00:56.869Z\", \"state\": \"PUBLISHED\"}, \"dataType\": \"CVE_RECORD\", \"dataVersion\": \"5.2\"}"}],"record":{"affected":[{"product":"arc","vendor":"Basekick-Labs","versions":[{"status":"affected","version":"< 26.06.2"}]}],"cna":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-55098","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-11-02T15:00:24.385666Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-11-02T15:00:56.869Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"arc","vendor":"Basekick-Labs","versions":[{"status":"affected","version":"< 26.06.2"}]}],"descriptions":[{"lang":"en","value":"Arc is an open, SQL-native time-series database for telemetry. Prior to the repository-verified 26.06.2 repair, the remediation of `CVE-2026-47735` leaves a cross-database authorization bypass through DuckDB table-valued I/O functions. In `internal/database/sandbox.go`, `allowed_directories` uses `cfg.LocalStorageRoot`, configured by `storage.local_path`, while `enable_external_access=false` blocks access outside that entire multi-tenant root. `GetStoragePath` in `internal/storage/util.go` stores all databases beneath it. In `internal/api/query.go`, `extractTableReferences` skips names followed by an opening parenthesis and `checkQueryPermissions` allows queries with no extracted table references, including tokens with `permissions: []`. The `userSQLReadParquetPattern` denylist catches literal `read_parquet(` and the earlier protection also blocks `arc_partition_agg(`, but misses the `parquet_scan` alias and `glob`, `parquet_metadata`, `parquet_schema`, `read_blob`, `read_csv_auto`, `read_json` and `read_text`. A request to `POST /api/v1/query` using these unblocked functions passes `ValidateSQLRequest` and `convertSQLToStoragePaths` without tenant authorization, allowing reads and enumeration of other databases' time-series data, schema and per-column value-range statistics within the allowlisted root. The sandbox still blocks out-of-root OS files and HTTP SSRF, and the sibling SQLite token database outside the root is not exposed by this mechanism. The earlier 26.06.1 remediation does not comprehensively deny these I/O functions. Repository tag 26.06.2 contains the I/O-function repair and supplies the provisional remediation boundary; conflicting advisory affected-version statements require curator adjudication."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-200","description":"CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","description":"CWE-863: Incorrect Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-30T20:09:04.909Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c","tags":["x_refsource_CONFIRM"],"url":"https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c"},{"name":"https://github.com/Basekick-Labs/arc/pull/495","tags":["x_refsource_MISC"],"url":"https://github.com/Basekick-Labs/arc/pull/495"},{"name":"https://github.com/Basekick-Labs/arc/commit/5dc8f53b70a3871b16b0cebf328f07c578af7a45","tags":["x_refsource_MISC"],"url":"https://github.com/Basekick-Labs/arc/commit/5dc8f53b70a3871b16b0cebf328f07c578af7a45"},{"name":"https://github.com/Basekick-Labs/arc/tree/v26.06.2","tags":["x_refsource_MISC"],"url":"https://github.com/Basekick-Labs/arc/tree/v26.06.2"}],"source":{"advisory":"GHSA-93cm-2v4m-c56c","discovery":"UNKNOWN"},"title":"Arc: DuckDB I/O aliases bypass database RBAC after CVE-2026-47735"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-55098","datePublished":"2026-10-30T20:09:04.909Z","dateReserved":"2026-06-16T14:41:54.579Z","dateUpdated":"2026-11-02T15:00:56.869Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"cna_checked":1794522003,"cve":"CVE-2026-55098","description":"Arc is an open, SQL-native time-series database for telemetry. Prior to the repository-verified 26.06.2 repair, the remediation of `CVE-2026-47735` leaves a cross-database authorization bypass through DuckDB table-valued I/O functions. In `internal/database/sandbox.go`, `allowed_directories` uses `cfg.LocalStorageRoot`, configured by `storage.local_path`, while `enable_external_access=false` blocks access outside that entire multi-tenant root. `GetStoragePath` in `internal/storage/util.go` stores all databases beneath it. In `internal/api/query.go`, `extractTableReferences` skips names followed by an opening parenthesis and `checkQueryPermissions` allows queries with no extracted table references, including tokens with `permissions: []`. The `userSQLReadParquetPattern` denylist catches literal `read_parquet(` and the earlier protection also blocks `arc_partition_agg(`, but misses the `parquet_scan` alias and `glob`, `parquet_metadata`, `parquet_schema`, `read_blob`, `read_csv_auto`, `read_json` and `read_text`. A request to `POST /api/v1/query` using these unblocked functions passes `ValidateSQLRequest` and `convertSQLToStoragePaths` without tenant authorization, allowing reads and enumeration of other databases' time-series data, schema and per-column value-range statistics within the allowlisted root. The sandbox still blocks out-of-root OS files and HTTP SSRF, and the sibling SQLite token database outside the root is not exposed by this mechanism. The earlier 26.06.1 remediation does not comprehensively deny these I/O functions. Repository tag 26.06.2 contains the I/O-function repair and supplies the provisional remediation boundary; conflicting advisory affected-version statements require curator adjudication.","epss":{"date":"2026-11-12","epss":0.00319,"percentile":0.25255},"epss_checked":1794522003,"first_seen":1793858405,"kev":null,"kev_checked":1794522003,"products":"Basekick-Labs arc","references":["https://github.com/Basekick-Labs/arc/security/advisories/GHSA-93cm-2v4m-c56c","https://github.com/Basekick-Labs/arc/pull/495","https://github.com/Basekick-Labs/arc/commit/5dc8f53b70a3871b16b0cebf328f07c578af7a45","https://github.com/Basekick-Labs/arc/tree/v26.06.2"],"score":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","provider":"GitHub_M","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"solutions":"","state":"PUBLISHED","title":"Arc: DuckDB I/O aliases bypass database RBAC after CVE-2026-47735","updated_at":1794500401,"workarounds":""},"sources":[{"canonical_url":"https://github.com/advisories/GHSA-93cm-2v4m-c56c","id":194,"publisher":"GitHub Advisory Database","title":"Arc: DuckDB I/O aliases bypass database RBAC after CVE-2026-47735"}]}
