CVE-2023-48309
Açıklama
NextAuth.js, Next.js için kimlik doğrulama sağlar. Varsayılan Middleware yetkilendirmesine güvenen 4.24.5 sürümü öncesindeki `next-auth` uygulamaları bir güvenlik açığından etkilenmektedir. Kötü niyetli bir aktör, kesintiye uğramış bir OAuth oturum açma akışından (state, PKCE veya nonce) elde edilen NextAuth.js tarafından düzenlenmiş bir JWT kullanarak boş/sahte bir kullanıcı oluşturabilir. `next-auth.session-token` çerez değerini manuel olarak bu ilgisiz JWT ile geçersiz kılmak, kullanıcının herhangi bir kullanıcı bilgisiyle ilişkili olmasa bile giriş yapmış bir kullanıcıyı simüle etmesine olanak tanır. (Bu kullanıcıdaki tek özellik, rastgele oluşturulmuş opak bir dizidir). Bu güvenlik açığı, diğer kullanıcıların verilerine veya kapsamlar (scopes) ya da diğer yöntemlerle uygun yetkilendirme gerektiren kaynaklara erişim sağlamaz. Oluşturulan sahte kullanıcıyla ilişkili hiçbir bilgi bulunmamaktadır (örneğin isim, e-posta, access_token vb.). Bu güvenlik açığı, kötü niyetli aktörler tarafından giriş yapmış kullanıcı durumlarına (örneğin panel düzenine) göz atmak için istismar edilebilir. `next-auth` `v4.24.5` sürümü, bu güvenlik açığı için bir yama içermektedir. Geçici bir çözüm olarak geliştiriciler, Middleware için özel bir yetkilendirme geri çağırma (authorization callback) fonksiyonu kullanarak manuel olarak temel bir kimlik doğrulama gerçekleştirebilirler.
Nasıl düzeltilir
- nextauth.js next-auth4.24.5 ya da sonraki bir sürüm
- next-auth4.24.5 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| nextauth.js next-auth | v < 4.24.5 | 4.24.5 |
| next-authnpm | v < 4.24.5 | 4.24.5 |
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.