CVE-2026-54350
Açıklama
Budibase açık kaynaklı bir düşük kodlu (low-code) platformudur. 3.39.12 sürümünden önce, yayınlanmış herhangi bir Budibase uygulamasının kimliği doğrulanmamış bir ziyaretçisi; arka plandaki MongoDB, CouchDB, Elasticsearch, DynamoDB-PartiQL veya REST-with-JSON-body koleksiyonunun tüm belgelerini okuyabilir ve oluşturucunun HERKESE AÇIK (PUBLIC) bir yazma sorgusu yayınladığı durumlarda, tek bir HTTP isteği ile o koleksiyondaki tüm belgeleri değiştirebilir. packages/server/src/sdk/workspace/queries/queries.ts:121-138 konumundaki enrichContext, parametre değerlerini bir sorgunun ham JSON gövdesine yerleştirir ve ardından sonucu JSON.parse ile ayrıştırır. packages/server/src/api/controllers/query/index.ts:61-71 konumundaki validateQueryInputs doğrulayıcısı, kullanıcı girişindeki yalnızca Handlebars işaretleyicilerini ({{, }}) reddeder ve JSON meta karakterlerini (", \, }) kaçırmaz (escape etmez). Kapanış tırnağı ve ek anahtarlar içeren bir parametre değeri, saldırgan tarafından kontrol edilen alanların ayrıştırılmış filtre nesnesine sızmasını sağlar. Mongo find için, ayrıştırılan filtre doğrudan collection.find()'e aktarılır (packages/server/src/integrations/mongodb.ts:506-510). Yinelenen anahtar (duplicate-key) JSON ayrıştırması, oluşturucunun {name: "..."} ifadesini {name: {$exists: true}} ile geçersiz kılar ve tüm belgeleri döndürür. Aynı yöntem bir updateMany sorgusuna karşı kullanıldığında (mongodb.ts:577-585), filtre kapsamını tüm koleksiyona genişletirken, oluşturucu tarafından kontrol edilen $set gövdesi eşleşen her belge üzerinde çalıştırılır. packages/server/src/middleware/authorized.ts:141-148 konumundaki yetkilendirme ara katmanı, sorgunun rolü PUBLIC olduğunda işlemi kısa devre yaptırır. Bu yolda CSRF zorunlu tutulmamaktadır. POST /api/v2/queries/:queryId (packages/server/src/api/routes/query.ts:63), oturum gerektirmeden, yalnızca yayınlanan uygulama URL'sinden erişilebilen genel bir x-budibase-app-id başlığı ile çağrıyı kabul eder. Bu güvenlik açığı 3.39.12 sürümünde giderilmiştir.
Nasıl düzeltilir
- budibase budibase3.39.12 ya da sonraki bir sürüm
- @budibase/server3.39.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| budibase budibase | v < 3.39.12 | 3.39.12 |
| @budibase/servernpm | v < 3.39.12 | 3.39.12 |
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.