« Tüm yayınlar

CVE-2026-23870: Tek bir POST isteği React sunucusunu kilitliyor

CVE-2026-23870: React server action'larındaki O(n²) form ayrıştırma hatası, kimlik doğrulama gerektirmeden Next.js sunucularını saniyelerce donduruyordu.

React'in sunucu action'larında form verisini yeniden oluşturan koddaki bir mantık hatası, kimlik doğrulaması gerektirmeyen bir DoS açığına yol açtı. $K referanslarını çözen kod, her bir referans için tüm form alanlarını baştan taramak zorunda kalıyordu; saldırgan 10.000 referans ve 10.000 alan içeren tek bir istekle sunucuyu 100 milyon string karşılaştırmasına zorlayabiliyordu. Node.js tek thread üzerinde çalıştığı için bu işlem bitene kadar sunucu başka hiçbir isteğe yanıt veremiyordu.

Mevcut derinlik ve argüman sınırları, referansları bir seviye daha derine gömerek aşılabiliyordu; ayrıca bu doğrulama kimlik kontrolünden önce çalıştığı için herhangi bir giriş gerektirmiyordu, yalnızca HTML ve JS dosyalarında açıkça yer alan action ID'si yeterliydi. Araştırmacının testlerinde tek bir istek sunucuyu yaklaşık 4-10 saniye dondurdu, art arda birkaç istek ise load balancer'ın sunucuyu devre dışı bırakıp 503 döndürmesine neden oldu.

Sorun React'in paylaşılan çekirdek kodunda olduğu için react-server-dom-webpack, turbopack ve parcel paketlerini, dolayısıyla Next.js 14+ dahil tüm React Server Components kurulumlarını etkiliyor. React 19.0.6, 19.1.7 ve 19.2.6 sürümlerinde, tüm alanları tek geçişte tarayan bir çözümle giderildi. Araştırmacı, raporu Nisan 2026'da bildirmesine rağmen aylar sonra sessizce yamalanan ve kendisine hiçbir geri bildirim verilmeyen süreci de paylaştı.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz