Web uygulamaları oluşturmak için yaygın olarak kullanılan bir React çerçevesi olan Next.js’de CVE-2024-51479 olarak takip edilen kritik bir güvenlik açığı belirlendi.
Kusur, ara yazılım tabanlı yetkilendirme kontrollerini atlayarak doğrudan uygulamanın kök dizini altındaki belirli sayfalara yetkisiz erişime izin verdi. Bu sorun, Next.js’nin dünya çapındaki geliştiriciler ve kuruluşlar tarafından geniş çapta benimsenmesi nedeniyle önemli endişelere yol açtı.
Güvenlik açığı Next.js’nin 9.5.5 ila 14.2.14 arasındaki sürümlerini etkiledi. İsteklerin yol adına göre ara yazılım yetkilendirmesinin nasıl uygulandığından kaynaklandı.
Spesifik olarak, doğrudan kök dizinin altında bulunan sayfalar (ör. “https://example.com/foo”) güvenlik açığına maruz kalırken, kökün kendisi (‘https://example.com/’) ve iç içe geçmiş yollar (‘https: //example.com/foo/bar`) etkilenmeden kaldı.
Bu atlama, uygulamanın başka bir yerinde uygun yetkilendirme mekanizmaları uygulanmamış olsaydı, saldırganların hassas uygulama verilerine veya işlevlerine yetkisiz erişim elde etmesine olanak tanıyabilirdi.
Güvenlik açığına CVSS puanı 7,5 olarak verildi ve bu da ciddiyetin yüksek olduğunu gösteriyor. Next.js’nin kurumsal ve tüketiciye yönelik uygulamalarda yaygın kullanımı göz önüne alındığında, bu kusur, kullanıcı verileri ve iş operasyonları için önemli bir risk oluşturuyordu.
ANY.RUN ile Gerçek Dünyadaki Kötü Amaçlı Bağlantıları, Kötü Amaçlı Yazılımları ve Kimlik Avı Saldırılarını Araştırın – Ücretsiz Deneyin
Yetkilendirme kontrolleri için ara yazılıma güvenen kuruluşlar, uygulamalarını güncellememişlerse özellikle savunmasız durumdaydı.
Next.js ekibi, 14.2.15 ve sonraki sürümlerde bir yama yayınlayarak sorunu hemen çözdü. Kötüye kullanım riskini ortadan kaldırmak için geliştiricilerin uygulamalarını bu sürüme veya daha yeni bir sürüme yükseltmeleri önemle tavsiye edilir.
Next.js’yi oluşturan platform olan Vercel’de barındırılan uygulamalar için güvenlik açığı, Vercel’in güvenlik duvarı tarafından uygulanan proaktif önlemler yoluyla otomatik olarak azaltılmıştır.
Bu, Next.js’nin eski sürümlerini çalıştıran uygulamaların bile bu özel kusura karşı korunmasını sağlar.
Maalesef bu güvenlik açığının Next.js’nin yamalı sürümüne yükseltme dışında resmi bir geçici çözümü yoktur. Geliştiricilerin, uygulamalarını etkili bir şekilde güvence altına almak için bağımlılıklarını güncellemeye öncelik vermeleri gerekir.
Potansiyel istismara karşı koruma sağlamak için:
- Next.js uygulamanızı hemen 14.2.15 veya sonraki bir sürüme güncelleyin.
- Vercel’de barındırılıyorsa dağıtımınızın bunların otomatik olarak azaltılmasından yararlandığını doğrulayın.
- Ara yazılım kontrollerinin ötesinde sağlam güvenlik önlemleri sağlamak için uygulamanızın yetkilendirme mantığını inceleyin.
Bu olay, güvenlik güncellemeleri konusunda dikkatli olmanın ve uygulama bağımlılıklarını güvenlik açıklarına karşı düzenli olarak denetlemenin önemini vurguluyor.
Geliştiriciler bu tür sorunları hızlı bir şekilde ele alarak uygulamalarını ve kullanıcılarını potansiyel tehditlerden koruyabilirler.