Description
CrateDB is a distributed SQL database. Prior to versions 6.2.8 and 6.3.2, any authenticated user can read or delete any blob whose SHA-1 digest they know, and can plant new blobs unconditionally, in any blob table, regardless of `GRANT`s. CrateDB has two ways to access blob storage: SQL (`SELECT ... FROM blob.<table>` and friends) and the blob HTTP API (`GET|PUT|DELETE /_blobs/{table}/{digest}`). The SQL path goes through `AccessControl`, which is what enforces privilege grants; that's why `SELECT digest FROM blob.secret_blobs` fails for a user who has no grants on the table. The HTTP path authenticates the request but never asks `AccessControl` whether the authenticated user is allowed to touch the table. So a user with no grants gets `MissingPrivilegeException` from SQL and `200 OK` plus the blob bytes from `GET /_blobs/secret_blobs/<digest>`. Deployments that don't use `BLOB TABLE` are unaffected. Authentication itself still works; the bug is strictly that being authenticated as anyone is treated as sufficient for any blob op. Versions 6.2.8 and 6.3.2 fix the issue.
Published: 2026-08-14
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

CrateDB before versions 6.2.8 and 6.3.2 contains a flaw in its Blob HTTP API that does not check the authenticated user's privileges before performing blob read, delete, or insert operations. Consequently, any user who can authenticate to the database can access, overwrite, or delete any blob whose SHA‑1 digest is known, regardless of the database’s GRANT settings, effectively bypassing all access controls on blob tables.

Affected Systems

The issue affects CrateDB deployments using the crate:crate product, specifically all releases before v6.2.8 and v6.3.2. Blobs stored in BLOB TABLEs are impacted; deployments that do not employ BLOB TABLEs are not affected.

Risk and Exploitability

The CVSS score is 7.1, indicating a moderate to high severity. The EPSS score is unavailable but the lack of listing in the CISA KEV catalog suggests no confirmed large‑scale exploitation to date. Attackers need only to be authenticated, and they must know a blob’s SHA‑1 digest, which can be discovered through existing data or by inference. Since the HTTP endpoint never consults AccessControl, an authenticated attacker can read sensitive files, delete them, or insert malicious blobs. The vulnerability relies on standard authentication mechanisms and provides a straightforward path for data exfiltration or data manipulation; therefore, it represents a significant risk to confidentiality, integrity, and availability of blob data.

Generated by OpenCVE AI on August 14, 2026 at 17:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to CrateDB version 6.2.8, 6.3.2, or later
  • Restrict or disable network access to the /_blobs/{table}/{digest} HTTP endpoint for untrusted users
  • Implement auditing or monitoring of blob CRUD operations to detect unauthorized activity

Generated by OpenCVE AI on August 14, 2026 at 17:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2xv8-gjwh-fv8p CrateDB's Blob HTTP handler bypasses authorization
History

Fri, 14 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 14 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Description CrateDB is a distributed SQL database. Prior to versions 6.2.8 and 6.3.2, any authenticated user can read or delete any blob whose SHA-1 digest they know, and can plant new blobs unconditionally, in any blob table, regardless of `GRANT`s. CrateDB has two ways to access blob storage: SQL (`SELECT ... FROM blob.<table>` and friends) and the blob HTTP API (`GET|PUT|DELETE /_blobs/{table}/{digest}`). The SQL path goes through `AccessControl`, which is what enforces privilege grants; that's why `SELECT digest FROM blob.secret_blobs` fails for a user who has no grants on the table. The HTTP path authenticates the request but never asks `AccessControl` whether the authenticated user is allowed to touch the table. So a user with no grants gets `MissingPrivilegeException` from SQL and `200 OK` plus the blob bytes from `GET /_blobs/secret_blobs/<digest>`. Deployments that don't use `BLOB TABLE` are unaffected. Authentication itself still works; the bug is strictly that being authenticated as anyone is treated as sufficient for any blob op. Versions 6.2.8 and 6.3.2 fix the issue.
Title CrateDB's Blob HTTP handler bypasses authorization
Weaknesses CWE-863
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-14T17:06:58.883Z

Reserved: 2026-06-02T18:30:51.282Z

Link: CVE-2026-49989

cve-icon Vulnrichment

Updated: 2026-08-14T17:06:47.459Z

cve-icon NVD

Status : Received

Published: 2026-08-14T17:18:27.290

Modified: 2026-08-14T17:18:27.290

Link: CVE-2026-49989

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T17:30:12Z

Weaknesses