Tam yığın web uygulamaları oluşturmak için yaygın olarak kullanılan popüler Next.js çerçevesinde CVE-2024-46982 olarak tanımlanan kritik bir güvenlik açığı keşfedildi.
Bu kusur, web sitelerini önbellek zehirlenmesine ve depolanan siteler arası komut dosyası çalıştırma (XSS) saldırılarına maruz bırakarak hem kullanıcı verileri hem de uygulama kullanılabilirliği açısından önemli riskler oluşturur.
Güvenlik açığının CVSS puanı 7,5 (Yüksek) olup bu, kullanım kolaylığını ve yaygın hasar potansiyelini yansıtıyor.
Bu güvenlik açığı, hata ödül programlarında halihazırda istismar ediliyor; araştırmacılar, e-ticaret, kripto para platformları ve finansal hizmetler gibi sektörlerde yüksek ciddi etkiler bildiriyor.
Bir örnekte, depolanan bir XSS saldırısı, bir saldırganın önemli bir platformdan hassas kullanıcı verilerini almasına olanak tanıdı.
Investigate Real-World Malicious Links & Phishing Attacks With Threat Intelligence Lookup - Try for Free
Next.js Çerçevesinde Kritik Güvenlik Açığı
CVE-2024-46982, sayfa yönlendiricisini dinamik olmayan sunucu tarafında oluşturulan (SSR) rotalarla kullanırken 13.5.1 ile 14.2.9 arasındaki Next.js sürümlerini etkiliyor.
Güvenlik açığı, saldırganların özel hazırlanmış HTTP istekleri göndererek önbelleğe alma mekanizmalarını değiştirmesine olanak tanır.
Bu, uygulamayı önbelleğe alınmaması gereken dinamik içeriği önbelleğe alması için kandırabilir ve kötü amaçlı yüklerin şüphelenmeyen kullanıcılara sunulması potansiyelini ortaya çıkarabilir.
Web güvenlik açığı araştırmacısı Rachid Allam, sorunun Next.js’nin sırasıyla SSR ve statik site oluşturma (SSG) için iki temel işlev olan getServerSideProps ve getStaticProps’u işleme biçiminden kaynaklandığını belirtiyor.
Saldırganlar, belirli başlıklardan (örneğin, x-now-route-matches) veya dahili URL parametrelerinden (__nextDataReq) yararlanarak, önbellek kontrol kurallarını atlayabilir ve önbelleği zararlı yanıtlarla zehirleyebilir.
Kullanım Teknikleri
Hizmet Reddi (DoS) için Önbellek Zehirlenmesi:
Saldırganlar, hazırlanmış bir JSON nesnesini (pageProps) önbelleğe enjekte ederek uç noktaların içeriğini değiştirebilir.
Kullanıcılar etkilenen uç noktaya eriştiklerinde, amaçlanan sayfa yerine bu zehirli içerik kendilerine sunulur ve bu da web sitesinin kullanılabilirliğini kesintiye uğratır.
Önbellek Zehirlenmesi yoluyla saklanan XSS:
Saldırganlar, SSR yanıtlarında yansıtılan kullanıcı girdilerinden (örneğin, kullanıcı aracısı dizeleri veya tanımlama bilgileri) yararlanarak önbelleğe kötü amaçlı komut dosyaları ekleyebilir.
Bu komut dosyaları önbelleğe alındıktan sonra, kullanıcılar etkilenen uç noktayı her ziyaret ettiğinde çalıştırılarak saldırganların hassas verileri çalmasına veya hesapları ele geçirmesine olanak tanır.
Önbellek Aldatma Saldırıları:
Saldırganlar, önbellekleri yeniden doğrulama dönemleri sırasında eski veya bozulmuş yanıtlar sunmaya zorlamak için önbellek kontrol başlıklarındaki yeniden doğrulama sırasında eski yönergeyi kullanır.
Next.js ekibi, 13.5.7 ve 14.2.10 sürümlerinde CVE-2024-46982 sorununu ele aldı. Geliştiricilerin uygulamalarını derhal bu yamalı sürümlere veya daha yeni bir sürüme yükseltmeleri şiddetle tavsiye edilir.
Bu güvenlik açığı, daha katı varsayılan yapılandırmalar nedeniyle yalnızca uygulama yönlendiricisini kullanan veya Vercel’de barındırılan dağıtımları etkilemez.
Bu kusur, özellikle önbelleğe alma mekanizmaları ve dinamik içerik oluşturmayla uğraşırken, web geliştirmede sağlam güvenlik uygulamalarının önemini vurgulamaktadır.
Web sitesi yöneticileri, hem veri gizliliğini hem de hizmet kullanılabilirliğini tehdit eden bu karmaşık saldırılara karşı korunmak için yamalar uygulayarak ve önbellekleme politikalarını gözden geçirerek hızlı hareket etmelidir.
Jenkins & Jira’yı Kullanarak Uygulama Güvenliğini CI/CD İş Akışlarınıza Entegre Etme -> Ücretsiz Web Semineri