Kritik PHP güvenlik açığı, bilgisayar korsanlarının kötü niyetli içerik yüklemek için doğrulamayı atlamasına izin verin


PHP güvenlik açığı

HTTP istekleri için DOM veya SimplexML uzantılarına dayanan web uygulamalarını potansiyel olarak etkileyen PHP’nin LIBXML akışlarında kritik bir güvenlik açığı tanımlanmıştır.

CVE-2025-1219 olarak izlenen kusur, yanlış işlenmesini içerir. content-type Başlık Yeniden yönlendirilmiş bir kaynak istendiğinde, belgenin yanlış yorumlanması ve doğrulama bypass gibi güvenlik risklerine yol açar.

Güvenlik açığı PHP sürümlerini etkiler:

  • 8.1.32’nin altında
  • 8.2.28’in altında
  • 8.3.18’in altında
  • 8.4.5’in altında

Güvenlik Açığı Detayları

Sorun, HTTP Stream Wrapper’ın bir yönlendirme izlediğinde ortaya çıkar. Sonraki istekleri yürütmeden önce daha önce yakalanan başlıkları temizlemek yerine, birden çok istekten başlıkları tek bir diziye ekler.

Bu, tüm isteklerden başlıklar içeren bir dizi ile sonuçlanır ve son istek başlıkları en son yerleştirilir.

İşlev php_libxml_input_buffer_create_filename() veya php_libxml_sniff_charset_from_stream() Bu diziyi bir için tarar content-type Yanıtın charset’ini belirlemek için başlık.

Ancak, başlıkları sırayla yukarıdan aşağıya işler ve ilk başta durur content-type Başlık karşılaşır.

PHP raporuna göre, bu üstbilgi ayrıştırılan HTML gövdesini içeren son yanıta karşılık gelmeyebilir. Sonuç olarak, belgeler yanlış bir kargaşa ile ayrıştırılabilir ve potansiyel güvenlik sorunlarına yol açabilir.

Bu güvenlik açığı, saldırganların yanlış karakter algılaması alarak belgelerin nasıl ayrıştırıldığını manipüle etmesine izin verebilir. Örneğin:

  • Belgeler yanlış yorumlanabilir ve amaçlanan anlamlarını değiştirebilir.
  • Bir belge yanlış ayrıştırılırsa doğrulama işlemleri atlanabilir.
  • Gibi yöntemleri kullanarak bu tür belgeleri dışa aktarma ->saveHtml() Orijinal kireç setinin korunmasıyla istenmeyen çıkışlara neden olabilir.

HTTP istekleri için PHP’nin DOM veya SimplexML uzantılarını kullanan uygulamalar özellikle savunmasızdır.

Kavram kanıtı

Bir kavram kanıtı (POC), bu güvenlik açığının nasıl kullanılabileceğini gösterir:

  1. Bir yönlendirme komut dosyası (redirect.php) gönderir content-type Bir karakter belirleyen başlık (utf-16) ve başka bir kaynağa yönlendirir.
  2. PHP’nin DomDocument veya SimplexML uzantıları aracılığıyla erişildiğinde, ilk content-type Başlık, son yanıt yerine ayrıştırma için yanlış kullanılır.

Bu davranış, dışa aktarılan HTML içeriğinin manipüle edilmesine rağmen orijinal kireç setini koruduğu senaryolarda gösterildiği gibi yanlış ayrıştırma ve doğrulama baypaslarına yol açabilir.

PHP geliştiricileri bu sorunu aşağıdaki sürümlerde ele aldı:

  • PHP 8.1.32
  • PHP 8.2.28
  • PHP 8.3.19
  • PHP 8.4.5

Azaltma adımları

CVE-2025-1219’a karşı korumak için, kullanıcıların PHP kurulumlarını yukarıda listelenen yamalı sürümlerden birine güncellemeleri şiddetle tavsiye edilir:

  1. Mevcut sürümünüzü kullanarak kontrol edin php -v.
  2. Sisteminizi paket yöneticiniz aracılığıyla güncelleyin veya PHP.NET’ten güncellenmiş ikili dosyaları indirin.
  3. Güncellemeden sonra PHP’ye dayanan hizmetleri yeniden başlatın.

CVE-2025-1219, PHP’nin HTTP’nin LIBXML akışlarını kullanarak HTTP’nin nasıl yönlendirildiğini nasıl ele aldığı ve belgeleri HTTP istekleri aracılığıyla ayrıştıran uygulamalar için riskler oluşturduğunda kritik bir kusuru vurgular. Güvenlik açığı, ortaya çıkan güvenlik tehditlerini ele almak için yazılımı düzenli olarak güncellemenin öneminin altını çizmektedir.

Are You from SOC/DFIR Team? - Try Free Malware Research with ANY.RUN - Start Now



Source link