Bulutsky Blog - Hosting Blog
  • SEO
  • Hosting
  • Domain
  • Linux
  • Yapay Zeka
  • E- Ticaret
  • İso İndir
BULUTSKY GİRİŞ
Bulutsky Blog - Hosting Blog
  • SEO
  • Hosting
  • Domain
  • Linux
  • Yapay Zeka
  • E- Ticaret
  • İso İndir
No Result
View All Result
Bulutsky Blog - Hosting Blog
No Result
View All Result

Gökçe Ayazoglu by Gökçe Ayazoglu
30 Mayıs 2026
in Hosting
Süre:13 okunma süresi
0
0

CVE-2025-55182: React Server Components Kritik RCE Açığı – Türkiye’de Tehdit ve Korunma Yolları

Yayın Tarihi: 4 Aralık 2025 | Okunma Süresi: 12 dakika | Kategori: Siber Güvenlik, Web Geliştirme


Giriş: React Dünyasını Sarsacak Bir Açık

Ekim 2025’te, React ve Next.js ekosistemini derinden etkileyecek bir kritik güvenlik açığı keşfedildi: CVE-2025-55182. Bu açık, yüksek profilli web uygulamalarının uzaktan kod yürütülmesine (RCE) açık hale gelmesini sağlıyor ve Türkiye’deki pek çok websitesi bu riskten haberdar olmayabilir.

Önemli Bilgilendirme: Bu yazı, web geliştirici, sistem yöneticisi, siber güvenlik uzmanı ve teknoloji meraklıları için hazırlanmıştır. Eğer siz de React ve Next.js kullanan bir web uygulaması yönetiyorsanız, bu bilgiler sizin için hayati önem taşıyabilir.


CVE-2025-55182 Nedir? Basit ve Teknik Açıklama

Teknik Tanım

CVE-2025-55182, React Server Components (RSC) mimarisinde bulunan bir pre-authentication Remote Code Execution (RCE) açığıdır. Basit şekilde söylemek gerekirse:

Bunları da Okumalısın..

ISPmanager Nedir? Avantajları, Dezavantajları ve Kullanım Alanları

ISPmanager Nedir? Avantajları, Dezavantajları ve Kullanım Alanları

7 Kasım 2025
Yazılım Türüne Göre Sunucu Seçimi Nasıl Yapılır? |

Yazılım Türüne Göre Sunucu Seçimi Nasıl Yapılır? |

7 Kasım 2025
Ücretsiz SSL Sertifikası Nasıl Alınır? (2025 Adım Adım Let’s Encrypt Rehberi)

Ücretsiz SSL Sertifikası Nasıl Alınır? (2025 Adım Adım Let’s Encrypt Rehberi)

7 Kasım 2025
WordPress Hosting Nedir? Normal Hosting ile Arasındaki Farklar Nelerdir?

WordPress Hosting Nedir? Normal Hosting ile Arasındaki Farklar Nelerdir?

7 Kasım 2025

Bir saldırgan, hiçbir giriş yapma (kimlik doğrulama) gerekmeden, sizin web sunucunuzda istediği kodu çalıştırabiliyor.

Ciddiyet Seviyesi: 10.0 (Maksimum)

CVSS (Common Vulnerability Scoring System) skoruna göre bu açık, kritik kategorisinin en üst seviyesindedir. Bu, Log4j açığıyla karşılaştırılabilecek kadar önemli bir bulunuştur.

ÖzellikDeğerAnlamı
CVSS Puanı10.0Maksimum Ciddiyet
Kimlik DoğrulamaGerekmezHiç kimse olmadan saldırı mümkün
Etki AlanıTam Sunucu KontrolüTüm sistem verilerine erişim
Ağ MenziliEvetDünyanın herhangi yerinden saldırı

CVE-2025-55182 Kimi Etkiliyor?

Tehlike Altında Olan Teknolojiler

Bu açık SADECE aşağıdaki koşulların hepsinin bulunması durumunda ortaya çıkıyor:

KoşulGerekli?Örnek
React 19.0✅ EVETReact 18.x = GÜVENLI
Next.js (Modern)✅ EVETSaf React = GÜVENLI
Server Components (“use server”)✅ EVETClient-side React = GÜVENLI
Server Actions✅ EVETVite + React = GÜVENLI

Etkilenen Paketler

Açık sadece React 19.0’ı değil, aşağıdaki tüm paketleri etkiliyor:

  • React 19.0
  • React Server Components
  • Next.js (Server Components kullanan versiyonlar)
  • React DOM Webpack
  • React DOM Parcel
  • Turbo Pack
  • React Router (Server Component entegrasyonu olan versiyonlar)

Açık Nasıl Çalışıyor? Teknik Derinlik

Flight Protokolü ve Deserializer Hatası

React Server Components, RSC Flight protokolü adında özel bir iletişim sistemi kullanıyor. Bu protokol, server’daki JavaScript’i client’a (tarayıcıya) aktarıyor.

Sorun: Sistem, client’tan (tarayıcıdan) gelen verilere aşırı güven gösteriyor.

// Açıklık: Server'daki fonksiyon
export async function deleteUser(userId) {
  // Hiçbir doğrulama yok!
  await database.users.delete({ id: userId });
}

// Saldırı: Tarayıcıdan gelen kötü amaçlı kod
deleteUser("SELECT * FROM admin_users;")  // SQL Injection
deleteUser("../../etc/passwd")             // Path Traversal
deleteUser("rm -rf /")                      // Sistem Komutu

Module Metadata Manipülasyonu

Saldırgan, tarayıcıdan “module metadata” adı verilen bilgileri manipüle ederek, server’da kesinlikle çağrılmaması gereken fonksiyonları çağırabiliyor.

// Saldırgan tarayıcıdan gönderir:
{
  "moduleName": "getPrivateAdminData",  // Var olmayan fonksiyon
  "args": ["hacker_command"]
}

// Server doğrulamadan çalıştırır → RCE ✗

Türkiye’de CVE-2025-55182 Riski

Türkiye’deki Tehditli Siteler

Türkiye’de pek çok web geliştirici ve kurumsal firma React ve Next.js kullanıyor:

  • 💼 E-ticaret Siteleri (Trendyol benzeri yapılar)
  • 🏦 Fintech Uygulamaları (Mobil bankacılık, kripto borsaları)
  • 📱 SaaS Platformları (Proje yönetim, CRM araçları)
  • 🎓 Eğitim Platformları (Online kurslar, öğrenci portalleri)
  • 🏥 Sağlık Uygulamaları (Telemedicine, hastane yönetim sistemleri)

ZoomEye ve Shodan’da Tespit

Siber suçlular şu komutları kullanarak vulnerable siteleri bulabiliyorlar:

http.body="__NEXT_DATA__" && http.body="use server"

Bu sorguyla milyonlarca siteden açık olanlar bulunabiliyor. Türkiye’den de düzinelerce site bu kategoriye giriyor.


Pratik Örnek: Saldırı Senaryoları

Örnek 1: E-ticaret Sitesi

Zafiyetli Kod:

// next/app/actions.js
"use server"

export async function applyDiscount(discountCode, cartValue) {
  // HATA: Kod hiç kontrol edilmiyor!
  const discount = await db.discounts.findOne({ code: discountCode });
  return cartValue - discount.amount;
}

Saldırı Senaryosu:

applyDiscount("'; DROP TABLE orders; --", 1000)
// Tüm siparişleri siler!

Örnek 2: Yönetici Paneli

Zafiyetli Kod:

// next/app/admin/deleteUser.js
"use server"

export async function removeUser(userId) {
  // Kimlik doğrulama yok!
  await db.users.deleteOne({ _id: userId });
}

Saldırı Senaryosu:

// Tüm admin kullanıcıları silme
for (let i = 0; i < 10000; i++) {
  removeUser(i);
}

Bir Sitenin CVE-2025-55182’ye Açık Olup Olmadığını Nasıl Anlarız?

1. Wappalyzer Extension Yöntemi (En Basit)

  1. Chrome’da Wappalyzer extension’ını yükle
  2. Siteyi aç
  3. Extension’ı tıkla
  4. “React 19.0” görürsen → Riskli olabilir ⚠️
  5. “Next.js” görürsen → Çift kontrol et

2. Console Yöntemi

Tarayıcında F12 tuşuna basıp Console sekmesine gidin ve aşağıdaki komutu yazın:

React.version

// Çıktı:
19.0.0    // Riskli ⚠️
18.2.0    // Güvenli ✅
undefined // React yok ✅

3. Network Tab Yöntemi

  1. F12 → Network sekmesi
  2. Sayfayı yenile
  3. Ara: __NEXT_DATA__ veya /_next/rsc/
  4. Görürsen → Riskli olabilir ⚠️

4. HTML Kaynağı Yöntemi

  1. Ctrl+U veya Sağ Tık → Sayfa Kaynağını Görüntüle
  2. Ara: "use server" veya "__NEXT_DATA__"
  3. Görürsen → Riskli olabilir ⚠️

Korunma Yolları: Yapılması Gerekenler

🔴 Acil Önlemler (İlk 24 Saat)

1. Bağımlılık Envanterini Kontrol Et

# Node.js projesinde:
npm ls react
npm ls next

# Sürümleri not et

2. Hemen Yama Yap

# React'i güncelle
npm update react react-dom

# Next.js'i güncelle
npm update next

# Production'a deploy et

3. Yazılım Malzeme Listesi (SBOM) Oluştur

npm install -g cyclonedx-npm
cyclonedx-npm > sbom.json

4. Web Application Firewall (WAF) Aktifleştir

  • Cloudflare kullanıyorsanız: Kuralları sıkılaştır
  • AWS WAF kullanıyorsanız: RSC payload’larını filtrele
  • Kendi WAF’ınız varsa: /_next/rsc/ isteklerini monitörle

🟡 Orta Vadeli Önlemler (Haftalarca)

1. Input Validasyonu Ekle

// GÜVENLI: Input kontrol ile
"use server"

export async function updateUser(userId: string, data: unknown) {
  // Kontrol: User ID validi mi?
  if (!isValidUserId(userId)) {
    throw new Error("Invalid user ID");
  }

  // Kontrol: Veri beklenen format mı?
  const validated = userSchema.parse(data);

  await db.users.update(userId, validated);
}

2. Authentication & Authorization Kontrol

// GÜVENLI: Kullanıcı yetkisi kontrol
"use server"

import { auth } from "@/auth"

export async function deleteUser(userId: string) {
  const session = await auth();

  // Admin mi?
  if (session.user.role !== "admin") {
    throw new Error("Unauthorized");
  }

  await db.users.delete(userId);
}

3. Rate Limiting Ekle

import { Ratelimit } from "@upstash/ratelimit";

const ratelimit = new Ratelimit({
  redis: Redis.fromEnv(),
  limiter: Ratelimit.slidingWindow(10, "1 h"),
});

export async function sensitiveAction() {
  const { success } = await ratelimit.limit("critical-action");

  if (!success) {
    throw new Error("Too many requests");
  }

  // Action yap
}

🟢 Uzun Vadeli Stratejiler (Aylar)

1. Security Code Review

  • Tüm Server Components’i gözden geçir
  • Input validation pattern’leri standartlaştır
  • Security checklist oluştur

2. Automated Testing

// Test dosyası
describe("Server Actions Security", () => {
  it("should reject invalid input", async () => {
    expect(async () => {
      await deleteUser("invalid-id");
    }).rejects.toThrow();
  });

  it("should check authorization", async () => {
    const nonAdmin = { role: "user" };
    expect(async () => {
      await sensitiveAction(nonAdmin);
    }).rejects.toThrow("Unauthorized");
  });
});

3. Dependency Security Scanning

# npm audit yap
npm audit

# Snyk tarafından taranır
snyk test

# Dependabot kullan (GitHub)
# Otomatik güvenlik güncellemeleri

React 19.0 Kullanan Siteleri Bulma: Dorklar

Shodan Dorkları

http.html:"use server" && http.title:"React"

http.body:"__NEXT_DATA__" && http.body:"renderToPipeableStream"

http.html:"react.production.min.js" && http.html:"19.0"

http.body:"RSC" && http.body:"Next.js"

ZoomEye Dorkları

http.body="__NEXT_DATA__" && http.body="use server"

http.body="renderToPipeableStream" || http.body="RSC flight"

app="React Router" && http.body="react.production.min.js"

⚠️ Uyarı: Bu dorkları sadece kendi sisteminizi kontrol etmek veya güvenlik araştırması yapmak için kullanın. İzinsiz saldırı yasa dışıdır.


Türkiye’de Güvenlik Kaynakları

Resmi Kaynaklar

KaynakURLAçıklama
USOMusom.gov.trTürkiye’nin resmi güvenlik merkezi
BEL-TISbeltic.orgBilişim Endüstrileri Derneği
TÜBİSADtubisad.org.trTürk Bilişim Sanayii Derneği
BTKbtk.gov.trBilgi Teknolojileri Kurumu

Teknik Kaynaklar (Türkçe)

  • Penligent.ai – CVE-2025-55182 Derin Analizi
  • Emre Güzel Blog – React Server Components Rehberi
  • Eser Özvataf – YouTube RSC Eğitimleri

İşletmeler İçin Aksiyon Planı

📅 Hafta 1: Değerlendirme

  • React/Next.js versiyonlarını kontrol et
  • CVE-2025-55182’ye açık siteleri belirle
  • Risk değerlendirmesi yap

📅 Hafta 2-3: Çözüm

  • Security patch’leri uygula
  • Input validation ekle
  • WAF kurallarını sıkılaştır

📅 Ay 2-3: Hardening

  • Security code review yap
  • Test coverage’ı artır
  • Monitoring’i geçir

📅 Devam Eden: Maintenance

  • Dependency güncellemelerini takip et
  • Security announcements’leri oku
  • Penetration testing’i düzenle

Sonuç: Alınması Gereken Dersler

CVE-2025-55182, web geliştirme dünyasına önemli bir uyarı sunmaktadır:

  • Framework’lere Körü Körüne Güvenme: Modern frameworkler bile güvenlik açığı taşıyabiliyor
  • Input Validasyonu Vazgeçilmez: Client’tan gelen hiçbir veri güvenilmemeli
  • Hızlı Patch: Kritik açıklar açık adıldığında 48 saat içinde yama uygulanmalı
  • Continuous Monitoring: Dependency tracking tools’ları kullan

Türkiye’de teknoloji sektörü hızlı büyüyor, ama güvenlik bilinci maalesef geride kalabiliyor.

ShareTweetPin
Gökçe Ayazoglu

Gökçe Ayazoglu

Selam ben Gökçe! Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü mezunuyum. Bulutsky hosting şirketinde aktif olarak dijital dünya teknolojileri ile ilgili içerik üretiyorum.

Diğer Yazılarımız

ISPmanager Nedir? Avantajları, Dezavantajları ve Kullanım Alanları
Hosting

ISPmanager Nedir? Avantajları, Dezavantajları ve Kullanım Alanları

7 Kasım 2025

Son zamanlarda hosting ve sunucu yönetimi dünyasında adını sıkça duymaya başladığımız ISPmanager, özellikle cPanel’in...

Yazılım Türüne Göre Sunucu Seçimi Nasıl Yapılır? |
Hosting

Yazılım Türüne Göre Sunucu Seçimi Nasıl Yapılır? |

7 Kasım 2025

Web projelerinde başarının arkasında doğru sunucu altyapısı büyük rol oynar. Her yazılım türü, yapısı...

Ücretsiz SSL Sertifikası Nasıl Alınır? (2025 Adım Adım Let’s Encrypt Rehberi)
Hosting

Ücretsiz SSL Sertifikası Nasıl Alınır? (2025 Adım Adım Let’s Encrypt Rehberi)

7 Kasım 2025

İçindekiler Neden SSL? Let’s Encrypt Hakkında Başlamadan Önce (Ön Koşullar) Yöntem 1 – cPanel’de...

WordPress Hosting Nedir? Normal Hosting ile Arasındaki Farklar Nelerdir?
Hosting

WordPress Hosting Nedir? Normal Hosting ile Arasındaki Farklar Nelerdir?

7 Kasım 2025

Web sitesi kurmak isteyenlerin karşısına ilk çıkan sorulardan biri şudur: "WordPress Hosting mi almalıyım...

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bulutsky Blog - Hosting Blog

Hosting, domain ve siber güvenlikte en güncel gelişmeler için Bulutsky Blog’u takip edin.

Son Yazılar

  • (başlıksız)
  • WormGPT ve WormGPT4 Nedir? Yapay Zekanın Karanlık Yüzü
  • Instagram Reklam Fiyatları 2025&2026

About

  • sitemap (Site Haritası)
  • Robots.txt
  • Hakkımızda
  • İletişim

© 2024 Bulutsky Blog - Bazı Haklar Gönüllerde Saklıdır ❤️ We Love Google | Tutanak Örneği

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • SEO
  • Hosting
  • Domain
  • Linux
  • Yapay Zeka
  • E- Ticaret
  • İso İndir

© 2024 Bulutsky Blog - Bazı Haklar Gönüllerde Saklıdır ❤️ We Love Google | Tutanak Örneği