CVE-2026-49989
Açıklama
CrateDB dağıtılmış bir SQL veritabanıdır. 6.2.8 ve 6.3.2 sürümlerinden önce, kimliği doğrulanmış herhangi bir kullanıcı, SHA-1 özetini bildiği herhangi bir blob'u okuyabilir veya silebilir ve `GRANT` izinlerinden bağımsız olarak herhangi bir blob tablosuna koşulsuz olarak yeni blob'lar yerleştirebilir. CrateDB'nin blob depolamaya erişmek için iki yolu vardır: SQL (`SELECT ... FROM blob.<table>` ve benzerleri) ve blob HTTP API'si (`GET|PUT|DELETE /_blobs/{table}/{digest}`). SQL yolu, ayrıcalık izinlerini uygulayan `AccessControl` üzerinden geçer; bu nedenle tablo üzerinde hiçbir izni olmayan bir kullanıcı için `SELECT digest FROM blob.secret_blobs` başarısız olur. HTTP yolu isteğin kimliğini doğrular ancak kimliği doğrulanmış kullanıcının tabloya erişme izni olup olmadığını `AccessControl`'e hiçbir zaman sormaz. Bu nedenle, hiçbir izni olmayan bir kullanıcı SQL'den `MissingPrivilegeException` alırken `GET /_blobs/secret_blobs/<digest>` isteğinden `200 OK` ve blob baytlarını alır. `BLOB TABLE` kullanmayan dağıtımlar etkilenmez. Kimlik doğrulama işlevi hâlâ çalışır; hata kesinlikle herhangi biri olarak kimliği doğrulanmış olmanın herhangi bir blob işlemi için yeterli sayılmasıdır. 6.2.8 ve 6.3.2 sürümleri bu sorunu giderir.
Nasıl düzeltilir
- io.crate:crate6.2.8, 6.3.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| io.crate:crateMaven | v < 6.2.8, 6.3.0 ≤ v < 6.3.2 | 6.2.8, 6.3.2 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.