CVE-2025-61928
Açıklama
Better Auth, TypeScript için bir kimlik doğrulama ve yetkilendirme kütüphanesidir. 1.3.26 öncesindeki sürümlerde, kimliği doğrulanmamış saldırganlar, `api/auth/api-key/create` rotasına gönderilen istek gövdesinde herhangi bir kullanıcının id değerini ileterek o kullanıcı için API anahtarları oluşturabilir veya değiştirebilir: `session?.user ?? (authRequired ? null : { id: ctx.body.userId })`. Bir oturum mevcut olmadığında ancak istek gövdesinde `userId` bulunduğunda, `authRequired` değeri false olur ve kullanıcı nesnesi saldırgan tarafından kontrol edilen ID olarak ayarlanır. Sunucu tarafındaki alan doğrulaması yalnızca `authRequired` true olduğunda yürütülür (satırlar 280-295), bu da saldırganların ayrıcalıklı alanları ayarlamasına olanak tanır. Veritabanı işleminden önce ek bir kimlik doğrulama yapılmadığından kötü niyetli yük kabul edilir. Aynı desen güncelleme uç noktasında da mevcuttur. Bu durum, kimliği doğrulanmamış bir saldırganın herhangi bir kullanıcı için API anahtarı oluşturmasına ve anında tam kimlik doğrulanmış erişim sağlamasına olanak tanıyan kritik bir kimlik doğrulama atlatma açığıdır. Bu, saldırganın API anahtarını kullanarak mağdur kullanıcı adına herhangi bir işlemi gerçekleştirmesine, mağdurun yetkilerine bağlı olarak kullanıcı verilerini ve uygulamayı potansiyel olarak tehlikeye atmasına izin verir. Sürüm 1.3.26, bu sorun için bir yama içermektedir.
Nasıl düzeltilir
- better-auth1.3.26 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| better-authnpm | v < 1.3.26 | 1.3.26 |
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.