CVE-2026-42811
Açıklama
Basit bir ifadeyle, Apache Polaris'in yalnızca tek bir tablonun dosyaları için geçerli olan kısa ömürlü GCS kimlik bilgileri oluşturması gerekirken, özel olarak hazırlanmış bir namespace veya tablo adı, bu kimlik bilgilerinin yapılandırılmış bucket genelinde çalışmasına neden olabilir. Apache Polaris, erişimi istenen tablonun depolama yoluyla sınırlandırmayı amaçlayan CEL koşullarına sahip bir Credential Access Boundary (CAB) oluşturarak Google Cloud Storage kısıtlanmış (downscoped) kimlik bilgileri oluşturur. İlgili CEL dizgesi, bucket adı ve tablo yolundan oluşturulur. Bu tablo yolu ise namespace ve tablo tanımlayıcılarından türetilir. Mevcut kodda, bu yolun CEL ifadesine kaçış karakterleri (escaping) kullanılmadan eklendiği görülmektedir. Sonuç olarak, tek tırnak ve diğer URI-güvenli CEL parçacıkları içeren bir namespace veya tablo tanımlayıcısı, hedeflenen tırnaklı dizgenin dışına çıkabilir ve CEL koşulunun anlamını değiştirebilir. Gerçek Google Cloud Storage üzerinde Polaris 1.4.0 ile yapılan özel testlerde, Polaris'in hazırlanmış bir tanımlayıcıyı kabul ettiği ve CEL yol kısıtlaması etkisiz hale gelmiş delegasyon GCS kimlik bilgileri döndürdüğü onaylanmıştır. Bu delegasyon kimlik bilgileri şunları yapabilir: - Başka bir tablonun nesne ön ekini (object prefix) listelemek; - Başka bir tablonun meta veri kontrol dosyasını (Iceberg metadata JSON) okumak; - Başka bir tablonun nesne ön eki altında bir nesne oluşturmak ve silmek; - Ve ayrıca aynı bucket içinde herhangi bir tablo yolunun parçası olmayan, ilgisiz harici bir ön ek altındaki nesneleri listelemek, okumak, oluşturmak ve silmek. Bu son nokta önemlidir. Sorun sadece "başka bir tablo" ile sınırlı değildir. Onaylanan kurulumda, Apache Polaris hazırlanmış tablo için kimlik bilgilerini döndürdüğünde, yapılandırılmış bucket içindeki yol kısıtlaması fiilen ortadan kalkmıştır. Pratik etkisi, hazırlanmış tek bir tablo için geçici kimlik bilgilerinin, Polaris'ten yetkilendirilmesi istenen tablodan daha geniş kapsamlı olabilmesi ve yapılandırılmış bucket içinde etkili bir şekilde bucket genelinde geçerlilik kazanabilmesidir. Mevcut GCS testi, kurulum için geniş katalog ayrıcalıklarına sahip bir Polaris ana hesabı kullanmıştır. En düşük ayrıcalıklı ayrı bir Polaris RBAC varyantı henüz GCS üzerinde test edilmemiştir. Ancak, depolama kimlik bilgisinin genişleme davranışı GCS üzerinde onaylanmıştır.
Nasıl düzeltilir
- apache polaris1.4.1 ya da sonraki bir sürüm
- org.apache.polaris:polaris-core1.4.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache polaris | v < 1.4.1 | 1.4.1 |
| org.apache.polaris:polaris-coreMaven | v < 1.4.1 | 1.4.1 |
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.