CVE-2026-49989 in CrateDB
Résumé
par VulDB • 15/08/2026
CrateDB est une base de données SQL distribuée. Avant les versions 6.2.8 et 6.3.2, tout utilisateur authentifié peut lire ou supprimer n'importe quel blob dont il connaît le condensé SHA-1, et peut déposer de nouveaux blobs sans condition dans n'importe quelle table de blobs, indépendamment des autorisations `GRANT`. CrateDB propose deux méthodes pour accéder au stockage de blobs : SQL (`SELECT ... FROM blob.<table>` et similaires) et l'API HTTP pour les blobs (`GET|PUT|DELETE /_blobs/{table}/{digest}`). Le chemin SQL passe par `AccessControl`, qui est responsable du respect des privilèges accordés ; c'est pourquoi la requête `SELECT digest FROM blob.secret_blobs` échoue pour un utilisateur n'ayant aucune autorisation sur cette table. Le chemin HTTP authentifie la demande mais ne consulte jamais `AccessControl` pour vérifier si l'utilisateur authentifié a le droit d'accéder à la table. Ainsi, un utilisateur sans autorisations reçoit une `MissingPrivilegeException` via SQL et une réponse `200 OK` accompagnée des octets du blob via `GET /_blobs/secret_blobs/<digest>`. Les déploiements qui n'utilisent pas de `BLOB TABLE` ne sont pas affectés. L'authentification elle-même fonctionne toujours ; le bug réside strictement dans le fait que l'état d'utilisateur authentifié, quel qu'il soit, est traité comme suffisant pour toute opération sur les blobs. Les versions 6.2.8 et 6.3.2 corrigent ce problème.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.