
Laravel Framework’teki kritik bir güvenlik açığı (CVE-2024-13918), saldırganların popüler PHP çerçevesinin etkilenen sürümlerini çalıştıran web sitelerinde keyfi JavaScript kodu yürütmesini sağlar.
Laravel’in hata ayıklama modu hata sayfası oluşturulmasında keşfedilen kusur, geliştirme yapılandırmalarında çalışırken yansıtılan siteler arası komut dosyası (XSS) saldırılarına maruz kalır.
CVSS V3.1 skoru 8.0 (yüksek) ile bu güvenlik açığı, Laravel sürümlerini 11.9.0 ila 11.35.1’e etkiler ve geliştiricilerin riskleri azaltması için derhal eylem gerektirir.
Laravel Framework Güvenlik Açığı
Hata ayıklama modu .env yapılandırma dosyasındaki APP_DEBUG = True Ayarı üzerinden etkinleştirildiğinde Güvenlik Açığı Laravel’in hata işleme sisteminde ortaya çıkar.
Etkilenen sürümlerde, çerçevenin hata sayfası, HTTP 500 hataları için teşhis bilgilerini görüntülerken istek parametrelerini yanlış kodlar.
Saldırganlar, sorgu parametrelerinde veya verilerde JavaScript yükleri içeren kötü amaçlı URL’ler hazırlayarak bunu kullanabilir.
Teknik kök nedeni, hata ayıklama hata sayfalarında istek parametrelerini oluştururken Laravel’in bıçak şablonu motorunda ({!!}) kullanılır.
Bu, Laravel’in HTML varlık kodlamasını otomatik olarak uygulayan güvenli {{}} sözdizimi tarafından sağlanan tipik XSS korumalarını atlar. Savunmasız kod snippet’i hata sayfası şablonunda görünür:
Bu olmayan çıkış, geliştiriciler app_debug = true yapılandırdığında ham HTML/JavaScript içeriğinin enjeksiyonuna izin verir, tipik olarak geliştirme aşamaları sırasında ancak bazen yanlışlıkla üretimde etkin kalır.
Güvenlik açığı araştırmacılar Philipp Adelsberger ve SBA Research’ten Fabian Funder tarafından keşfedildi.
Kavram ve sömürü kanıtı
İşlevsel bir kavram kanıtı, saldırı vektörünü gösterir:
- Laravel’i app_debug = true ile yapılandırın .env
- Bir hatayı tetikleyen bir test yolu oluşturun:
Erişildiğinde, bu URL sıfır-sıfır bölümünü tetikler, bu da Laravel’in çıkmaz yük parametresini içeren hata ayıklama hatası sayfasını oluşturmasına neden olur. Tarayıcı, enjekte edilen komut dosyasını yürütür, kullanıcı oturumlarını ortaya çıkarır veya yetkisiz eylemler gerçekleştirir.
Saldırı Senaryoları
Başarılı sömürü, saldırganların şunları yapmasını sağlar:
- Document.Cookie Access aracılığıyla oturum çerezlerini ve kimlik doğrulama jetonlarını çizin
- Kullanıcıları Window.location Manipülasyonu üzerinden kimlik avı sitelerine yönlendirin
- CSRF jeton hırsızlığı yoluyla kimlik doğrulamalı kullanıcılar adına işlemleri gerçekleştirin
- Harici komut dosyası yüklemesi aracılığıyla kripto para madencilerini veya kötü amaçlı yazılımları dağıtın
Saldırı, kurbanların hata ayıklama modunda çalışırken özel olarak hazırlanmış bağlantıları tıklamasını gerektirir. Bununla birlikte, savunmasız örnekler için yaygın tarama ile birleştiğinde sosyal mühendislik taktikleri, bunu önemli bir tehdit vektörü haline getirir.
Hafifletme
Laravel, hata sayfalarında istek parametrelerini düzgün kodlayan güvenlik yamasını içeren 11.36.0 sürümünü yayınladı. Geliştiriciler:
- Besteci kullanarak hemen yükseltme:
- Geçici hafifletme gerektiren sistemler için:
- Hata ayıklama modunun üretimde devre dışı kalmasını sağlamak için tüm ortamları denetleyin
Bu olay, uygun çerçeve yapılandırmasının ve hızlı güvenlik güncellemelerinin kritik öneminin altını çizmektedir.
Laravel küresel olarak 786.000’den fazla görünür web uygulamasına güç vererek, yöneticiler güvenlik açığı yönetimine öncelik vermeli ve hata raporlama mekanizmalarının sertleşmesine öncelik vermelidir.
Collect Threat Intelligence on the Latest Malware and Phishing Attacks with ANY.RUN TI Lookup -> Try for free