Node.js async_hooks DoS Güvenlik Açığı CVE-2025-59466: Kritik Güncelleme Rehberi (2026)

03.02.2026 09:55 Haber

Kritik bir güvenlik açığı! Node.js'in async_hooks modülünde keşfedilen CVE-2025-59466 zafiyeti, tek bir kötü niyetli istek ile sunucunuzu çökertebilir. React Server Components, Next.js ve APM araçları kullanan hemen herkes etkileniyor. Alesta Web olarak bu yazıda güvenlik açığının detaylarını, etkilenen sürümleri ve çözüm yöntemlerini paylaşıyoruz. Hemen güncelleyin!

Güvenlik Açığı Nedir? (What is the Vulnerability?)

Node.js, Ocak 2026'da kritik bir güvenlik güncellemesi yayınladı. CVE-2025-59466 olarak tanımlanan bu açık, "neredeyse tüm production Node.js uygulamalarını" etkiliyor denilebilir.

Sorun şurada: async_hooks.createHook() aktifken, "Maximum call stack size exceeded" hatası normal hata yakalama mekanizmalarını atlıyor. Yani try-catch veya process.on('uncaughtException') bu hatayı yakalayamıyor ve uygulama direkt çöküyor.

⚠️ Kritik Uyarı / Critical Warning:

Bu açık sayesinde bir saldırgan, tek bir kötü niyetli HTTP isteğiyle Node.js sunucunuzu çökertebilir. Sunucu yeniden başlatılana kadar hizmet dışı kalır. CVSS skoru: 7.5 (Yüksek)

Alesta Web ekibi olarak bu güvenlik açığını çok ciddiye alıyoruz. Eğer Node.js tabanlı bir uygulama çalıştırıyorsanız, bu yazıyı sonuna kadar okuyun ve hemen güncelleme yapın.

Etkilenen Uygulamalar (Affected Applications)

async_hooks API'si düşük seviyeli bir debugging aracı olarak başladı. Ama zamanla React Server Components, Next.js ve APM araçları gibi kritik bileşenlerin temel bağımlılığı haline geldi.

Şu uygulamalar doğrudan etkileniyor:

  • React Server Components - async_hooks üzerine kurulu
  • Next.js - Server-side rendering için AsyncLocalStorage kullanıyor
  • Tüm APM araçları (Application Performance Monitoring):
    • Datadog APM
    • New Relic
    • Dynatrace
    • Elastic APM
  • AsyncLocalStorage kullanan herhangi bir kod
? Alesta Web Açıklaması:

AsyncLocalStorage, Node.js 14'te stable olarak eklendi ve request context'i tutmak için yaygın olarak kullanılıyor. Eğer uygulamanızda loglama, tracing veya request-scoped değişkenler varsa, muhtemelen etkileniyorsunuz.

Özetle: Modern bir Node.js web uygulaması çalıştırıyorsanız, büyük ihtimalle bu açıktan etkileniyorsunuz. Alesta Web olarak müşterilerimize hemen güncelleme yapmalarını öneriyoruz.

Teknik Detaylar (Technical Details)

Biraz daha teknik detaya girelim. Normal şartlarda JavaScript'te "Maximum call stack size exceeded" hatası yakalanabilir bir hatadır:

Normal Davranış / Normal Behavior:

// Bu hata normalde yakalanabilir
try {
  function infiniteRecursion() {
    infiniteRecursion();
  }
  infiniteRecursion();
} catch (error) {
  console.log('Hata yakalandı:', error.message);
  // Uygulama çalışmaya devam eder
}

Ancak async_hooks.createHook() aktifken, hata propagasyonu bozuluyor:

Hatalı Davranış (async_hooks aktifken) / Buggy Behavior:

const async_hooks = require('async_hooks');

// APM veya tracing aracı bu hook'u oluşturur
async_hooks.createHook({
  init() {},
  before() {},
  after() {},
  destroy() {}
}).enable();

// Şimdi stack overflow hatası yakalanamaz!
// process.on('uncaughtException') bile çalışmaz
// Uygulama direkt çöker - CRASH!

Sorunun kökeni: Hata, async_hooks işleme alınmadan önce V8 engine tarafından atılıyor. async_hooks bu hatayı işlerken kendisi de stack overflow oluşturuyor ve hata kullanıcı koduna hiç ulaşamıyor.

⚠️ Saldırı Senaryosu / Attack Scenario:

Bir saldırgan, derin iç içe JSON veya recursive yapılar içeren HTTP isteği göndererek bu açığı tetikleyebilir. Sunucu bu isteği işlerken stack overflow oluşur ve uygulama çöker.

Alesta Web ekibi olarak belirtmek isteriz: Bu açık 9 yıldır Node.js'te mevcuttu! async_hooks 2017'de Node.js 8'de eklenmişti ve sorun o zamandan beri potansiyel olarak sömürülebilir durumdaydı.

Etkilenen Sürümler (Affected Versions)

Hangi Node.js sürümleri etkileniyor ve hangilerinde yama mevcut?

Node.js Sürümü Durum Yamalı Sürüm
Node.js 8.x - 18.x ❌ End-of-Life Yama YOK - Desteklenmiyor
Node.js 20.x ✅ Yamalı 20.20.0
Node.js 22.x ✅ Yamalı 22.22.0
Node.js 24.x ✅ Yamalı 24.13.0
Node.js 25.x ✅ Yamalı 25.3.0
✅ Alesta Web Önerisi:

En az Node.js 20.20.0 veya üzeri sürüme güncelleyin. Node.js 24 ve sonrası için AsyncLocalStorage, V8'in AsyncContextFrame'i üzerinde yeniden implemente edildi. Bu sayede bu tür hatalar tamamen önleniyor.

Çözüm ve Güncelleme (Solution and Update)

Çözüm basit: Hemen güncelleyin! İşte adımlar:

Node.js Güncelleme / Update Node.js:

# Mevcut sürümü kontrol edin
node --version

# nvm ile güncelleme (önerilen)
nvm install 22.22.0
nvm use 22.22.0

# Veya doğrudan indirme
# https://nodejs.org/en/download/ adresinden

# Docker kullanıyorsanız
FROM node:22.22.0-alpine

Package.json Engine Kısıtlaması / Engine Constraint:

{
  "engines": {
    "node": ">=20.20.0 || >=22.22.0"
  }
}

Alesta Web olarak ek güvenlik önlemleri de öneriyoruz:

  • Recursion depth limiti: Saldırgan kontrolündeki derinliği sınırlayın
  • JSON parsing limiti: express.json() için limit ayarlayın
  • Rate limiting: Kötü niyetli istekleri engelleyin
  • WAF kuralları: Derin iç içe yapıları engelleyin

Express.js için Ek Koruma / Extra Protection:

const express = require('express');
const app = express();

// JSON body limiti
app.use(express.json({
  limit: '100kb',
  // Derin nesting'i önle
  reviver: (key, value) => {
    // Derinlik kontrolü ekleyebilirsiniz
    return value;
  }
}));

// Rate limiting
const rateLimit = require('express-rate-limit');
app.use(rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100
}));
⚠️ Önemli / Important:

Node.js 18 veya daha eski sürüm kullanıyorsanız ve güncelleyemiyorsanız, APM araçlarını devre dışı bırakmayı düşünün. Bu geçici bir çözüm ama performans izleme kaybına yol açar.

? Kaynaklar ve Referanslar / Sources and References

Bu makalede kullanılan bilgiler aşağıdaki güvenilir kaynaklardan derlenmiştir:

Alesta Web olarak güvenlik güncellemelerini yakından takip ediyoruz.

✅ Güvenlik Açığı Kapatıldı! (Vulnerability Patched!)

CVE-2025-59466 güvenlik açığını kapatmak için Node.js'i hemen güncelleyin! Alesta Web olarak production sunucularınızın güvenliğini sağlamanızı öneriyoruz.

Hızlı Özet / Quick Summary:

  • ✅ Node.js 20.20.0, 22.22.0, 24.13.0 veya 25.3.0'a güncelleyin
  • ✅ async_hooks stack overflow DoS açığı kapatıldı
  • ✅ React Server Components ve Next.js güvende
  • ✅ APM araçları normal çalışmaya devam ediyor

Faydalı Linkler / Useful Links:

© 2026 AlestaWeb - Tüm hakları saklıdır.

WM Tools
💫

WebMaster Tools

15 Profesyonel Araç