CVE-2026-50137
Açıklama
Budibase açık kaynaklı bir düşük kodlu (low-code) platformdur. 3.39.0 sürümünden önce, bir workspace id (app_...) ve bir S3-kaynak veri kaynağı id'sini (ds_...) bilen veya bunları tespit edebilen anonim bir saldırgan, herhangi bir kimlik doğrulaması olmadan bu uç noktayı çağırabilir ve kurbanın IAM kimliği üzerinden oluşturulmuş 15 dakikalık ön imzalı bir PUT URL'si elde edebilir. Uç nokta ayrıca publicUrl bilgisini de döndürdüğü için saldırgan, PUT işleminin tam olarak nereye ulaştığını bilir. Bucket saldırgan tarafından kontrol edilebildiği için saldırgan, yalnızca veri kaynağının yapılandırıldığı bucket'a değil, söz konusu IAM kimlik bilgilerinin yazabildiği herhangi bir bucket'a yazabilir. Budibase sunucu rotası olan POST /api/attachments/:datasourceId/url (packages/server/src/api/routes/static.ts), yalnızca recaptcha ara katman yazılımı ile kaydedilmiştir. Zincirde herhangi bir authorized(...) ara katman yazılımı bulunmamaktadır. Denetleyici (packages/server/src/api/controllers/static/index.ts::getSignedUploadURL), talep edilen veri kaynağını arar, veri kaynağının kayıtlı accessKeyId / secretAccessKey bilgileriyle bir AWS S3 istemcisi başlatır ve çağıran kişi tarafından sağlanan bucket ve anahtar için bir AWS Signature V4 ön imzalı PutObjectCommand URL'si döndürür. Bucket, veri kaynağının yapılandırılmış bucket'ına sabitlenmemiştir. sdk.datasources.get tarafından gerektirilen workspace bağlamı; x-budibase-app-id başlığı, JSON gövdesindeki appId, workspace önekiyle başlayan bir yol segmenti veya ?appId= parametrelerinden biri aracılığıyla getWorkspaceIdFromCtx (packages/backend-core/src/utils/utils.ts) tarafından alınır. auth.buildAuthMiddleware([], { publicAllowed: true }), tüm bunlardan önce çalışır ve anonim isteklere açıkça izin verir. currentWorkspace ara katman yazılımının "dev preview erişimini engelle" dalı yalnızca isBrowser(ctx) && !isApiKey(ctx) durumunda tetiklenir; isBrowser, ayrıştırılmış User-Agent bilgisinde tanınan bir tarayıcı olup olmadığını kontrol eder, dolayısıyla herhangi bir tarayıcı dışı istemci (curl, sağlanan PoC, tarayıcı UA'sı ayarlamayan herhangi bir araç) her iki durumu da karşılamaz ve geliştirici (dev) çalışma alanlarına da ulaşır. Bu güvenlik açığı 3.39.0 sürümünde giderilmiştir.
Nasıl düzeltilir
- budibase budibase3.39.0 ya da sonraki bir sürüm
- @budibase/server3.39.0 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.0 | 3.39.0 |
| @budibase/servernpm | v < 3.39.0 | 3.39.0 |
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.