deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

PHP2Shell: Acil PHP sürümleri, CVSS 9.2 puanlı kimlik doğrulaması gerektirmeyen RCE açıklarını giderdi

PHP, kimlik doğrulaması gerektirmeyen saldırganların kod çalıştırmasına veya süreç belleğini okumasına imkân veren iki kritik bellek güvenliği açığını gideren acil sürümler yayımladı. Operatörlerin tüm runtime'ları yükseltmesi ve worker'ları yeniden başlatması gerekiyor.

PHP2Shell: Acil PHP sürümleri, CVSS 9.2 puanlı kimlik doğrulaması gerektirmeyen RCE açıklarını giderdi

Acil sürümler iki kritik açığı kapattı

PHP projesi 21 Ekim'de — PHP 8.5.12, 8.4.27, 8.3.36 ve 8.2.35 — kimlik doğrulaması gerektirmeyen uzak bir saldırganın sunucuda kod çalıştırmasına imkân verebilecek iki güvenlik açığını gideren dört acil güvenlik sürümü yayımladı. PHP Foundation'ın duyurusu tüm PHP operatörlerini hemen güncellemeye çağırıyor; Hacks.gr ise açıkların PHP 5.4'e kadar uzandığını, destek dışı dallar olan 7.4, 8.0 ve 8.1 için de kaynak kod düzeyinde yamalar yayımlandığını bildiriyor.

Hataları bildiren araştırmacılar — Wiz, OpenAI Codex Security ve güvenlik firması Calif'ten ekipler — bunları PHP2Shell adı altında topladı; önem derecesi CVSS 9.2 olan açıklar CVE-2026-109618 ve CVE-2026-109619 olarak izleniyor.

Motorun çekirdeğinde iki bellek güvenliği hatası

PHP Foundation'a göre ilk açık, bir istek tam yanlış bir anda PHP'nin memory_limit değerine ulaştığında tetikleniyor: motor iç verileri yarım başlatılmış durumda bırakabiliyor ve sonradan bunu geçerli veri sanarak belleği bozabiliyor. Apache ile mod_php kullanımında, tek bir kimlik doğrulaması gerektirmeyen istek, uygulama kodunun tek satırı çalışmadan önce bunu tetikleyebiliyor ve varsayılan ayarlarla tam uzaktan kod çalıştırma gösterildi; PHP-FPM üzerinde de uygulama düzeyindeki yollarla RCE doğrulandı.

İkinci açık ise eski durum (stale-state) hatası. Şanssız bir noktada meydana gelen ölümcül bir hata, iç durumun önceki bir isteğe ait belleği göstermesini sağlayabiliyor; aynı worker'daki sonraki bir istek bu belleği yeniden kullanabilir. Use-after-free ve worker çökmeleri doğrulandı; bildiren kişi gerçek bir uygulamaya karşı uzaktan kod çalıştırma gösterdi.

Her iki hata da neredeyse her isteğin dokunduğu bileşenler olan bellek yönetimi ve hata işleme kısmında yer alıyor. PHP2Shell araştırma sitesi, savunmasız kodun PHP'nin kendisinde olduğunu vurguluyor; dolayısıyla güvenli bir uygulama bile etkilenen bir runtime üzerinde açıkta kalıyor. Gösterimlerde WordPress, Drupal ve Joomla'ya karşı kimlik doğrulaması öncesi kod çalıştırma başarıldı; ayrıca önce kod çalıştırmadan worker belleğini — parolaları, token'ları, API anahtarlarını, sertifikaları — okuyan uygulamadan bağımsız bir yol da gösterildi.

İki yıllık bir düzeltme süreci

PHP Foundation zaman çizelgesi konusunda açık sözlü. Bellek tükenmesi (out-of-memory) probleminin belirtileri 2024'te ortaya çıktı; o sırada Foundation tarafından finanse edilen bir geliştirici, OSTIF aracılığıyla ayarlanan Sovereign Tech Agency fonuyla Quarkslab'ın yıllar sonra yapılan PHP'nin ilk dış denetiminden çıkan bulguları düzeltiyordu. Bir exploit teorik olarak öngörülmüştü, ancak somut bir saldırı yolu yoktu ve her aday düzeltme uyumluluk, performans veya eklenti ekosistemi aksaklığı açısından bedel gerektiriyordu; bu yüzden çalışma aylarca durdu — Foundation'ın kendi ifadesiyle, uzlaşıya dayalı sürecinin ve sınırlı kaynaklarının yapısal bir başarısızlığı.

Denge 11 Ağustos 2026'da değişti: 30 Temmuz'da başlayan Patch the Planet denetimi kapsamında çalışan Calif araştırmacısı Ryan A, ön koşul gerektirmeyen ve aynı kök nedene sahip uzaktan kod çalıştırmayı bildirdi. OpenAI aynı gün aynı sorunu bağımsız olarak bildirdi; ek vektörler 24 Ağustos'ta Wiz'den ve 18 Eylül'de OpenAI'den geldi. 11 Ağustos'tan itibaren düzeltme Foundation'ın en üst güvenlik önceliği oldu.

Yapay zekâ hikâyenin her yerinde: Foundation, PHP'yi Anthropic'in Claude Mythos ile (Alpha-Omega aracılığıyla) taradı ve bildirimleri OpenAI'nin Daybreak Red'iyle doğruluyor; Hacks.gr de araştırmacıların uzun süredir uykuda olan hataları çalışan saldırılara dönüştürmede yapay zekâya pay verdiklerini not ediyor. Bildirim hacmi de şişti — 1 Temmuz'dan bu yana 15 CVE yayımlandı, bunun yanında 100'den fazla bildirim geçersiz, yinelenen veya yeniden üretilemez olarak kapatıldı.

Açıklama plandan önce sızdı

Açıklama 20 Ekim'e kadar dayanabildi; o gün iki CVE kimliği forumlarda ve sosyal medyada yanlış bir yayım saati ve şişirilmiş 10.0'lık bir CVSS ile dolaşmaya başladı. PHP projesi ön duyurusunu öne çekti ve yayımı 22 Ekim'den 21 Ekim'e taşıdı; hızı, dağıtımcıların güncellemeleri paketleme ihtiyacıyla dengeledi. Calif daha sonra bir kavram kanıtı videosunu yanlışlıkla yayımladı; kopyaları yayıldı ve toplulukta exploit geliştirmeyi hızlandırdı. Chainguard ise 21 Ekim'de saat 07:41 UTC'te yamalı container imajlarını altı saatten fazla önce yayımlayarakembargoyu bozdu.

Hacks.gr, Cloudflare'ın yamalar yayımlanmadan önce ilk sömürü girişimlerini kaydettiğini — hiçbiri başarılı olarak doğrulanmadı — ve Hollandalı devlet kurumları ile BambooHR dahil şirketlerin geçici olarak hizmetleri çevrimdışı aldığını ekliyor. PHP güvenlik ekibi, dolaşımdaki kavram kanıtlarını izlediğini ve açıklama anında hiçbirinin işlevsel olmadığını tespit ettiğini söylüyor.

Yamala, sonra yeniden başlat

Araştırmacılara göre tek eksiksiz çözüm, her runtime'a yamalı bir PHP sürümü kurmak ve Apache, PHP-FPM ve uzun süre çalışan tüm worker'ları yeniden başlatmaktır — uygulamayı yamalamak, altındaki runtime'a dokunmaz. Anında yükseltmenin mümkün olmadığı durumlarda kısmi önlemler arasında memory_limit = -1 ayarı (cgroups gibi işletim sistemi düzeyi sınırlarla birlikte; asla RLIMIT_AS veya RLIMIT_DATA ile değil), post_max_size ve max_input_nesting_level değerlerini düşürmek, display_errors, fatal_error_backtraces ve session upload progress özelliklerini devre dışı bırakmak ve PHP-FPM worker'larını daha sık geri dönüştürmek yer alıyor. Her biri yalnızca bazı saldırı yollarını kapsıyor. Ayrıca düzeltme, süreçleri shutdown handler'ları çalıştırmadan sonlandıran katı bir bellek limiti getiriyor — gözden geçirilmesi gereken operasyonel bir değişiklik.

Neden önemli

Araştırmacıların tahminine göre PHP, WordPress'ten Wikipedia'nın MediaWiki'sine kadar web sitelerinin yaklaşık %70'ini çalıştırıyor; dolayısıyla runtime'ın kendisinde — tüm uygulama mantığının altında — kimlik doğrulaması öncesi kod çalıştırma hatası, web'de oluşabilecek en geniş erişim demek. Bu olay, yapay zekâ destekli araştırmanın teorik bir motor tuhaflığı ile silahlanmış bir exploit arasındaki boşluğu nasıl daralttığını gösteriyor; aynı zamanda küçük ve yetersiz finanse edilen bir çekirdek ekip, o boşlukla web'in büyük bölümü arasındaki ana engel olmaya devam ediyor. Ve sızma, yanlışlıkla yayımlanan video ile Chainguard'ın erken yayımı, tanımlayıcılar sosyal olarak yayıldığında koordineli açıklamanın ne kadar kırılganlaştığını gösteriyor — her projenin karşılaşmayı beklemesi gereken bir örüntü.

  • #php
  • #security
  • #vulnerabilities
  • #rce
  • #open-source

İlgili yazılar