CVE-2020-4035
Açıklama
WatermelonDB (NPM paketi "@nozbe/watermelondb") 0.15.1 ve 0.16.2 versiyonlarından öncekilerde, kötü niyetle oluşturulmuş bir kayıt kimliği (record ID), iOS adaptörü uygulamasındaki bir SQL Injection zafiyetini istismar ederek uygulamanın veritabanından tüm veya seçili kayıtları silmesine neden olabilir; bu durum genellikle uygulamanın kullanılamaz hale gelmesine yol açar. Bu durum, kimlikleri doğrulamayan (geçerli kimlikler `/^[a-zA-Z0-9_-.]+$/` şeklindedir) ve Watermelon Sync veya düşük seviyeli `database.adapter.destroyDeletedRecords` metodunu kullanan uygulamalarda meydana gelebilir. Kötü niyetle silinen kayıtlar senkronize edilmeyeceği için bütünlük riski düşüktür; dolayısıyla çıkış yapıp tekrar giriş yapmak tüm verileri geri yükleyecektir, ancak kötü niyetli silme işlemi senkronizasyon sürecinin push aşamasına geçmesini engellerse bazı yerel değişiklikler kaybolabilir. Bu zafiyet ile gizliliğin ihlal edilmesinin herhangi bir yolu bilinmemektedir. SQLite'da bir silme sorgusu içine ekleme/güncelleme sorgusu yerleştirmek ve noktalı virgülle ayrılmış ikinci bir sorgu iletmek mümkün olmadığından, SQL Injection'ın tam olarak istismar edilmesi engellenmiştir. Ayrıca, kayıtların seçici olarak silinmesiyle gizliliğin ihlal edilmesinin bilinen uygulanabilir bir yolu yoktur çünkü bu kayıtlar senkronize edilmeyecektir. Eğer uygulama güvenlik kararları almak için bir kaydın eksikliğini kullanıyorsa, seçici kayıt silmenin teorik olarak uygulamanın güvensiz davranmasına neden olması mümkündür. Bu sorun 0.15.1, 0.16.2 ve 0.16.1-fix versiyonlarında düzeltilmiştir.
Nasıl düzeltilir
- nozbe watermelondb0.15.1 ya da sonraki bir sürüm
- @nozbe/watermelondb0.15.1, 0.16.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| nozbe watermelondb | v < 0.15.1, 0.16.0, 0.16.1 | 0.15.1 |
| @nozbe/watermelondbnpm | v < 0.15.1, 0.16.0 ≤ v < 0.16.2 | 0.15.1, 0.16.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.