PHP 7 PHP programlama dilinin en son versiyonuyla çalışan sunucuları saldırılara açık hale getiren bir açıktan mağdur.
An itibarıyla bu açık bu yıl düzenlenen 33. Kaos İletişimi Kongresi’nde Check Point araştırmacısı Yannay Livneh’in yaptığı sunum esnasında ortaya çıkarılan üçlü yazılım hatasının bir parçası.
Açıklar PHP 7’nin seri bozma mekanizmasını etkiliyor
3 yazılım hatası da PHP’nin seri bozma mekanizmasını etkiliyor. Bahsi geçen mekanizma bir byte akışını PHP nesnesine geri dönüştürme süreci olarak tanımlanabilir.
Bu 3 yazılım hatasının CVE tanım kodları CVE-2016-7478, CVE-2016-7479 ve CVE-2016-7480.
Livneh tarafından yayınlanan teknik rapora göre ilk açık bir DoS sorunu, fakat bu sorun uzaktan istismar edilebiliyor ve PHP 7 sunucularının çok fazla bellek tüketeceği, web sitesini kilitleyecek, hatta sunucu işlemlerini kapatacak şekilde kullanılabiliyor.
Diğer iki açık ise saldırganın sunucu üzerinde kötü amaçlı bir kod çalıştırabilmesini sağlayan RCE açıkları. Bu da bazı senaryolarda saldırganın tüm sunucuyu ele geçirebilmesini sağlayabiliyor.
Açıklardan biri hala mevcut
Livneh bu sorunları PHP ekibine bu yılın Ağustos ve Eylül aylarında bildirdiğini söylüyor. PHP ekibi 13 Ekim tarihinde bir hata giderme işlemi yaparak PHP 7.0.12’yi, 1 Aralık’ta ise PHP 7.1.0’ı yayınlamıştı.
PHP ekibi bu haberin yazıldığı saatler itibarıyla bahsi geçen 3 açığın yalnızca 2’sini kapatabilmiş durumda. PHP ekibinden Stansilav Malaşev son açığın durumuyla ilgili sorulara “PHP ekibinin tekil hatalar için özel yayın tarihleri olmadığını” söyleyerek cevap verdi.
Malaşef konu hakkında şunları söylüyor: “PHP yayınları 4 haftada bir yapılıyor. Bir sonraki yayın için 5 Ocak tarihi belirlenmişti. Özel bir açığının giderilmesi için oluşturulan yama hazır olduğunda programa göre bir sonraki tarihte yayınlanır.”
Livneh habere konu olan 3 açığın Ağustos ayında ayrıntılarıyla anlattığı bir teknik kullanılarak istismar edilebileceğini söylüyor. Şu an için 3 açıktan hangisinin yamasız halde olduğuna dair bir bilgi ise henüz paylaşılmamış durumda.
Serileştirme/seri bozma sorunları bir türlü bitmek bilmiyor
Serileştirme/seri bozma mekanizması (veri nesnelerinin bellek bytelarına dönüştürülmesi veya tam tersi) PHP’nin önceki sürümleri için de ciddi bir sorun teşkil ediyordu. Aynı sorunun PHP 7 için de geçerli olduğu görülüyor.
PHP serileştirme mekanizmasındaki bir açık sayesinde yakın geçmişte araştırmacılar bazı sitelerin hacklenebileceğini göstermişlerdi.
Benzer şekilde, seri bozma işlemlerinde yaşanan sorunlar da Java uygulamaları etkiliyor. Geçtiğimiz yıl içerisinde ciddi bir yazılım açığı bazı PayPal hizmetlerinde güvenlik ihlallerine neden olmuştu.