CVE-2024-49756
Açıklama
AshPostgres, Ash Framework için PostgreSQL veri katmanıdır. Versiyon 2.0.0 ile başlayıp versiyon 2.4.10 öncesine kadar olan sürümlerde, çok spesifik bazı durumlarda, bir güncelleme eyleminin politikalarının atlanması mümkündü. Bu durum yalnızca "boş" güncelleme eylemlerinde (değişen alan olmayan) meydana gelmekteydi ve bu eylemlerin kancalarının (yan etkilerinin), gerçekleşmemeleri gereken durumlarda çalışmasına izin veriyordu. Bunun, kullanıcının erişim yetkisi olmayan yeni verileri okumasına izin vermediğine, yalnızca kullanıcının tetikleyememesi gereken bir yan etkiyi tetiklemesine izin verdiğine dikkat edilmelidir. Zafiyetin oluşması için, etkilenen kullanıcının şu özelliklere sahip bir kaynağı üzerinde bir güncelleme eylemine sahip olması gerekir: "güncelleme varsayılanı" içeren hiçbir özniteliğin bulunmaması (örneğin updated_at zaman damgası); atomik olarak gerçekleştirilebilmesi; `require_atomic? false` değerine sahip olmaması; en az bir yetkilendiriciye (`Ash.Policy.Authorizer` gibi) sahip olması ve en az bir `change` (kaynağın `changes` bloğunda veya eylemin kendisinde) içermesi. Yan etkiler, gerçekleşmemeleri gereken durumlarda burada yürütülmektedir. Bu sorun `ash_postgres` sürüm `2.4.10` ile düzeltilmiştir. Çeşitli geçici çözümler mevcuttur. Potansiyel olarak etkilenen kullanıcılar, bakıcıların GitHub Güvenlik Danışmanı'nda sağladığı bir betiği kullanarak hiçbir eylemlerinin savunmasız olmadığını belirleyebilir, potansiyel olarak etkilenen herhangi bir güncelleme eylemine `require_atomic? false` ekleyebilir, etkilenen bir eylem için tüm `Ash.update` kullanımlarını `Ash.bulk_update` ile değiştirebilir ve/veya eylemlerine bir güncelleme zaman damgası ekleyebilirler.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| ash-project ash_postgres | >= 2.0.0, < 2.4.10 | — |
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.