Bu kritik zafiyetin (CVE-2026-41940) anatomisini, oluşumundan sömürülmesine ve düzeltilmesine kadar bir siber güvenlik uzmanı perspektifiyle, adım adım inceleyelim.
Zafiyetin oluşma süreci şu şekildedir:
Adım 1: Ön-Yetkilendirme Oturumu Oluşturma Saldırgan, rastgele bilgilerle yanlış bir giriş denemesi yaparak sunucunun disk üzerinde bir oturum dosyası oluşturmasını sağlar ve bu oturuma ait çerezi (cookie) alır.
Adım 2: Veri Enjeksiyonu (The Injection) Saldırgan, aldığı çerezdeki virgül sonrasını silerek (no-ob yöntemi) şu payload'u içeren bir istek gönderir:
Adım 4: Giriş Onayı Sistem, saldırganın enjekte ettiği successful_internal_auth_with_timestamp değerini görünce, gerçek şifreyi (/etc/shadow) kontrol etmeyi bırakır ve "AUTH_OK" (giriş başarılı) yanıtını döndürerek root panelini açar.
ANLAMAYAN ARKADAŞA ANLATAYIM
Plaintext
user=root
pass=herhangi_bir_sifre
hasroot=1
tfa_verified=1
successful_internal_auth_with_timestamp=1777462149
Gördüğün gibi, bizim eklediğimiz satırlar dosyanın orijinal ayarları gibi görünmeye başladı.
Öneri: Sistem yöneticileri sunucularını acilen bu sürümlere yükseltmelidir; aksi takdirde sunucu, şifre gerektirmeyen bu sömürü zincirine karşı tamamen savunmasızdır.
Bu https://spyhackerz.org/ için hazırlanmıştır
1. Zafiyet Nedir ve Nasıl Oluştu?
Bu bir Kimlik Doğrulama Atlatma (Authentication Bypass) zafiyetidir . cPanel/WHM sisteminin oturum bilgilerini (kullanıcı yetkileri, giriş durumu vb.) sunucu üzerindeki dosyalarda saklama biçimindeki bir mantık hatasından kaynaklanır.Zafiyetin oluşma süreci şu şekildedir:
Temizleme Hatası (Sanitization Failure): cpsrvd (cPanel servis programı), "Basic Authentication" üzerinden gelen şifreleri alırken sadece NUL (\0) karakterlerini temizler; ancak yeni satır karakterlerine (\r\n) dokunmaz.
Filtreleme Eksikliği: Oturum verilerini dosyaya yazan saveSession fonksiyonu, yamadan önce her veri girişinde filter_sessiondata (yeni satırları silen fonksiyon) çağrılacağını varsayıyordu ancak bazı giriş noktalarında bu filtreleme unutulmuştu.
- Şifreleme Motoru Hatası (No-Ob Bypass): cPanel, oturum verilerini normalde şifreler. Ancak oturum çerezindeki (cookie) virgülden sonraki hex kısmı silinirse, sistem şifreleme anahtarı bulamaz ve verileri dosyaya ham metin (plain text) olarak yazar.
2. Zafiyet Nasıl Sömürülür? (Sömürü Zinciri)
Saldırgan, sunucuda root yetkisi elde etmek için şu adımları izler:Adım 1: Ön-Yetkilendirme Oturumu Oluşturma Saldırgan, rastgele bilgilerle yanlış bir giriş denemesi yaparak sunucunun disk üzerinde bir oturum dosyası oluşturmasını sağlar ve bu oturuma ait çerezi (cookie) alır.
Adım 2: Veri Enjeksiyonu (The Injection) Saldırgan, aldığı çerezdeki virgül sonrasını silerek (no-ob yöntemi) şu payload'u içeren bir istek gönderir:
Payload: x\r\nhasroot=1\r\ntfa_verified=1\r\nsuccessful_internal_auth_with_timestamp=1777462149.
- Bu "yeni satır" karakterleri sayesinde, hasroot=1 ve tfa_verified=1 gibi ifadeler oturum dosyasında ayrı birer yetki satırı gibi görünür.
Adım 4: Giriş Onayı Sistem, saldırganın enjekte ettiği successful_internal_auth_with_timestamp değerini görünce, gerçek şifreyi (/etc/shadow) kontrol etmeyi bırakır ve "AUTH_OK" (giriş başarılı) yanıtını döndürerek root panelini açar.
ANLAMAYAN ARKADAŞA ANLATAYIM
Adım 1: Hedef Belirleme ve İlk Oturumu Alış
Saldırgan, önce sunucuda sahte bir oturum (session) oluşturmak zorundadır.- İstek: user=root&pass=yanlis_sifre ile login sayfasına bir POST isteği atar.
- Sonuç: Sunucu girişi reddeder ama arka planda bir oturum dosyası oluşturur ve bize şu çerezi verir: whostmgrsession=:ABC_123,hex_anahtari
Adım 2: Savunmayı Devre Dışı Bırakma (The Bypass)
Sistem, verileri yazarken şifrelemek ister. Biz bu şifreleme motorunu (encoder) çerezdeki virgül sonrasını silerek devre dışı bırakıyoruz.- Yeni Çerez: whostmgrsession=:ABC_123 (Virgülden sonrası silindi).
- Mantık: Sistem "anahtar yok" diyerek verileri ham metin olarak yazmaya başlar.
Adım 3: Zehirli Komutun (Payload) Gönderilmesi
Hacker, sisteme Basic Authentication üzerinden bir istek gönderir. Şifre kısmına ise alt alta satırlar ekleyen şu payload'u koyar:- Ham Payload: herhangi_bir_sifre\nhasroot=1\ntfa_verified=1\nsuccessful_internal_auth_with_timestamp=1777462149
Plaintext
user=root
pass=herhangi_bir_sifre
hasroot=1
tfa_verified=1
successful_internal_auth_with_timestamp=1777462149
Gördüğün gibi, bizim eklediğimiz satırlar dosyanın orijinal ayarları gibi görünmeye başladı.
Adım 4: Sistemin Beynini Yıkama (Cache Poisoning)
cPanel hızı sevdiği için verileri RAM'de (Önbellek) tutar. Bizim dosyadaki değişikliği görmesi için onu bir hataya zorlarız (yanlış bir token göndererek). Sistem hata verince, "Dosyayı baştan okumalıyım" der ve bizim manipüle ettiğimiz dosyayı okuyup belleğe yazar.Adım 5: Şah Mat (Access Granted)
Saldırgan şimdi herhangi bir admin sayfasına (örneğin /scripts2/listaccts) girmek ister. cPanel'in güvenlik motoru oturuma bakar ve şunu görür:- successful_internal_auth_with_timestamp mevcut!
Sistem, "Bu kullanıcı zaten onaylanmış, şifresini kontrol etmeme gerek yok" diyerek saldırgana root yetkisiyle kapıyı açar.return $Cpanel::Server::AUTH_OK, 0; # <-- /etc/shadow never consulted
3. Zafiyet Nasıl Kapatıldı?
cPanel mühendisleri, bu sızıntıyı durdurmak için kod üzerinde köklü değişiklikler yaptı:
Zorunlu Filtreleme: saveSession fonksiyonunun içine filter_sessiondata çağrısı doğrudan eklendi. Artık hangi kapıdan gelirse gelsin, oturum verisi kaydedilmeden önce tüm yeni satır karakterleri (\r\n) otomatik olarak silinir.
Encoder Garantisi: Eğer oturumda bir şifreleme anahtarı (ob) yoksa, sistem artık veriyi boş bırakmak yerine 'no-ob:' etiketiyle birlikte hex_encode_only (onaltılık kodlama) kullanarak yazar. Bu, enjekte edilen karakterlerin dosya yapısını bozmasını imkansız kılar.
Patçli Versiyonlar: Zafiyet aşağıdaki ve sonraki sürümlerde tamamen kapatılmıştır:
- 110.0.97
- 118.0.63
- 126.0.54
- 132.0.29
- 134.0.20
- 136.0.5
Öneri: Sistem yöneticileri sunucularını acilen bu sürümlere yükseltmelidir; aksi takdirde sunucu, şifre gerektirmeyen bu sömürü zincirine karşı tamamen savunmasızdır.
Bu https://spyhackerz.org/ için hazırlanmıştır
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl

