Açığı kullanabilmek için saldırganın Casdoor örneğindeki herhangi bir organizasyonda IsAdmin=true yetkisine sahip olması gerekiyor; global yönetici olması gerekmiyor. Yetkili saldırgan, URL'deki hedef ile JSON istek gövdesindeki hedefi farklı göstererek başka organizasyonların kullanıcı, izin ve sertifika nesneleri üzerinde yönetim işlemleri yaptırabiliyor.
CERT/CC'nin yayımlama anındaki bilgisine göre üreticiyle koordinasyon kurulamadı ve bilinen bir üretici yaması yoktu. Bu nedenle Casdoor kullanan kurumların yalnız sürüm yükseltmesine güvenmek yerine yönetici hesaplarını azaltması, yönetim API'lerini ağ seviyesinde kısıtlaması ve organizasyonlar arası şüpheli değişiklikleri izlemesi gerekiyor.
CVE-2026-15630 nedir?
CVE-2026-15630, Casdoor'un bir isteği yetkilendirirken kontrol ettiği nesne ile arka uç denetleyicisinin fiilen değiştirdiği nesnenin aynı olmamasından kaynaklanan bir authorization versus action desynchronization problemidir. Başka bir ifadeyle güvenlik katmanı “bu kullanıcı A nesnesinde işlem yapabilir mi?” diye kontrol ederken uygulama daha sonra B nesnesinde işlem yapabiliyor.
CERT/CC açıklamasına göre global yetkilendirme filtresi hedefi URL'deki ?id= sorgu parametresinden çözüyor. Etkilenen kullanıcı ve izin denetleyicileri ise aynı hedefi kullanmak yerine JSON gövdesindeki owner ve name alanlarına göre işlem yapıyor. İki katmanın aynı nesne kimliğini zorunlu tutmaması, saldırganın denetlenen kimlik ile değiştirilen kimliği ayırmasına izin veriyor.
Bu hata yalnız tek bir uç noktayla sınırlı değil. Araştırmacı analizi, kullanıcı, izin, davet, grup ve sertifika gibi nesneleri ekleyen veya silen yaklaşık 25 API işleminde benzer gövde-temelli hedef çözümleme kalıbı bulunduğunu bildiriyor. Bu nedenle etki yalnız bir kullanıcı kaydının değiştirilmesinden daha geniş değerlendiriliyor.
Saldırı nasıl çalışıyor?
Saldırgan kendi organizasyonunda yönetici olduğu için URL'deki ?id= değerini kendi yetkili olduğu bir nesneye yöneltebilir. Yetkilendirme filtresi bu değeri kontrol eder ve isteğe izin verir. Aynı isteğin JSON gövdesinde ise owner ve name alanları başka bir organizasyondaki hedefi gösterebilir.
Arka uç denetleyicisi URL'deki nesne kimliğini yeniden doğrulamaz ve gövdedeki hedef üzerinde işlem yaparsa güvenlik kararı ile gerçekleşen eylem birbirinden kopar. Bu, klasik bir “IDOR” görünümüne sahip olsa da temel neden yalnız tahmin edilebilir bir kimlik değildir; iki farklı kaynakta taşınan nesne kimliğinin farklı katmanlarca otorite kabul edilmesidir.
| İstek bölümü | Sistem ne için kullanıyor? | Güvenlik sonucu |
|---|---|---|
| URL ?id= değeri | Global filtre yetkilendirme kararını bu hedefe göre veriyor | Saldırgan kendi organizasyonundaki yetkili nesneyi gösterebilir |
| JSON owner/name | Bazı denetleyiciler gerçek ekleme veya silme hedefini buradan seçiyor | Başka organizasyondaki nesne hedeflenebilir |
| Nesne katmanı | Çağıranın hedef organizasyona yetkisini yeniden doğrulamıyor | İlk filtredeki karar yanlış nesneye uygulanmış oluyor |
| Sonuç | Kontrol edilen ve değiştirilen nesne farklı | Tenant izolasyonu atlatılabiliyor |
Bu açıklama savunma amacıyla kök nedeni anlatır. Canlı sistemlerde doğrulama yapmak için başka organizasyonların verilerini hedefleyen istek göndermek güvenli değildir. Kurumlar açığı üretim ortamında sömürmeye çalışmak yerine varlık envanteri, sürüm bilgisi, kod düzeltmesi ve günlük analizi üzerinden hareket etmelidir.
Kimler etkileniyor?
CERT/CC, Casdoor 3.115.0 ve önceki sürümleri etkilenmiş olarak tanımlıyor. Araştırmacı, açığı 12 Temmuz 2026 itibarıyla 3.115.0 ve ana kod dalında yeniden doğruladığını belirtiyor. Güvenlik notu yayımlandığında bilinen sabitlenmiş bir sürüm bulunmuyordu.
Risk özellikle şu ortamlarda yüksektir:
- Tek Casdoor örneğinde birden fazla müşteri veya iş birimi organizasyonu barındıran SaaS platformları
- Müşterilere kendi organizasyonlarında yönetici rolü veren B2B hizmetleri
- Kendi kendine kayıt veya otomatik iş akışıyla organizasyon yöneticisi oluşturabilen kurulumlar
- Casdoor'u OIDC, OAuth, SAML veya kurumsal SSO merkezi olarak kullanan şirketler
- Yönetim API'leri internetten veya geniş iç ağlardan erişilebilen dağıtımlar
- Yönetici işlemlerinin merkezi SIEM veya değişiklik denetimine gönderilmediği kurulumlar
Tek kiracılı bir Casdoor kurulumu, organizasyonlar arası sıçrama senaryosunu sınırlayabilir; ancak yönetici nesneleri ve izinler üzerindeki tutarsız hedef çözümlemesi yine incelenmelidir. “Bizde yalnız bir organizasyon var” ifadesi, açığın bütün olası etkilerini otomatik olarak ortadan kaldırmaz.
Etki ne kadar büyük?
Casdoor'un resmi kullanıcı belgeleri, IsAdmin işaretli kullanıcının kendi organizasyonunda yönetici olduğunu; IsGlobalAdmin kullanıcısının ise tüm Casdoor örneğini yönetebildiğini açıklıyor. CVE-2026-15630 bu ayrımı zedeliyor: kendi organizasyonuyla sınırlı olması gereken bir yönetici, başka tenant'ların nesnelerine erişebiliyor.
CERT/CC ve araştırmacı analizinde belirtilen olası sonuçlar şunlar:
- Kullanıcı yönetimi: Başka organizasyondaki kullanıcı veya yöneticilerin silinmesi hizmet reddine ve hesap sahipliği krizine yol açabilir.
- Kalıcı erişim: Hedef organizasyona saldırganın kontrol ettiği yönetici kullanıcı eklenmesi uzun süreli arka kapı oluşturabilir.
- İzin değişikliği: Casbin izin nesnelerinin değiştirilmesi saldırganın daha geniş kaynak ve eylemlere erişmesini sağlayabilir.
- SSO kesintisi: Sertifika veya federasyon nesnelerinin silinmesi SAML/OIDC oturum açma akışlarını bozabilir.
- Örnek düzeyinde yükselme: Uygun izin zinciri kurulabilirse saldırganın global yönetici etkisine ulaşması mümkün olabilir.
Voke Cyber, açığa CVSS 3.1 taban puanı 9.9 veriyor. CERT/CC notu ise risk değerlendirmesinde belirli bir saldırı kampanyası, aktif istismar veya ele geçirilmiş sistem sayısı açıklamıyor. Bu nedenle “kritik” sınıflandırma teknik etki ve düşük saldırı karmaşıklığıyla ilgilidir; sahada yaygın saldırı olduğu anlamına gelmez.
Aktif istismar var mı?
5 Eylül 2026 itibarıyla incelenen CERT/CC notunda, Casdoor CVE-2026-15630'un aktif saldırılarda kullanıldığına dair doğrulanmış bir ifade bulunmuyor. Kamuya açık açıklamalarda tehdit aktörü, kötü amaçlı IP, alan adı, dosya hash'i veya kampanya adı paylaşılmadı.
Bu bilgi eksikliği riski küçültmez, fakat savunma ekiplerinin doğrulanmamış IOC üretmemesi gerekir. İnceleme; yönetim işlemleri, tenant kimliği uyuşmazlığı ve beklenmeyen nesne değişiklikleri gibi davranışsal izlere dayanmalıdır. Yalnız belirli bir IP listesini engellemek bu tür mantık hatasına karşı yeterli değildir.
Yama yoksa ne yapılmalı?
CERT/CC, yayımlama anında bilinen bir üretici yaması olmadığını belirtiyor. Bu durumda ilk hedef saldırı ön koşulunu ve erişilebilir yüzeyi azaltmaktır:
- IsAdmin hesaplarını en aza indirin: Her organizasyondaki yönetici listesini çıkarın; kullanılmayan, geçici veya otomasyonla verilmiş yönetici haklarını kaldırın.
- Yönetici MFA'sını zorunlu tutun: MFA bu mantık hatasını düzeltmez, ancak saldırganın gerekli yönetici oturumunu ele geçirmesini zorlaştırır.
- Kendi kendine yönetici üretimini kapatın: Kayıt, davet veya tenant oluşturma süreçleri otomatik olarak IsAdmin vermemeli.
- Yönetim API'lerini sınırlandırın: /api/add-* ve /api/delete-* uç noktalarını VPN, yönetim ağı, bastion veya dar kimlik tabanlı proxy politikası arkasına alın.
- Hedef tutarlılığı denetleyin: Ters proxy veya geçici WAF kuralı, URL'deki organizasyon/nesne ile gövdedeki owner değerinin uyuşmadığı değiştirici istekleri reddedebilir.
- Değişiklik günlüklerini merkezileştirin: Kullanıcı, izin, sertifika, grup ve davet değişikliklerini tenant kimliği ve çağıran hesapla birlikte SIEM'e gönderin.
- Yedek ve geri dönüşü doğrulayın: Kullanıcı, izin ve federasyon sertifikalarının geri yükleme prosedürünü test edin; yalnız yedek alındığını varsaymayın.
Geçici WAF kuralı yazılırken JSON ayrıştırma, kodlama, içerik türü, büyük/küçük harf ve çoklu parametre senaryoları dikkatle ele alınmalıdır. Basit metin eşleştirmesi normal istekleri engelleyebilir veya farklı JSON biçimlerinde atlatılabilir. Bu kontrol yalnız geçici telafidir; kalıcı çözüm uygulama kodunda tek ve kanonik hedef kimliği kullanmak ve nesne katmanında yeniden yetkilendirme yapmaktır.
Tehdit avcılığı için hangi olaylar aranmalı?
Kurumlar yalnız başarısız oturum açma kayıtlarına bakmamalı. Açığın kullanımı geçerli bir yönetici oturumundan geldiği için normal kimlik doğrulama kayıtları “başarılı” görünebilir. Aşağıdaki davranışlar daha anlamlıdır:
- Bir organizasyon yöneticisinin başka organizasyona ait kullanıcı, grup, izin veya sertifikayı değiştirmesi
- URL'deki id organizasyonu ile JSON owner organizasyonunun farklı olduğu POST istekleri
- Kısa sürede çok sayıda /api/add-* veya /api/delete-* çağrısı
- Beklenmeyen IsAdmin kullanıcılarının oluşturulması
- Casbin kuralında joker kaynak veya eylem değerlerinin eklenmesi
- Bir tenant'ta açıklanamayan kullanıcı sayısı düşüşü
- SAML/OIDC sertifikalarının silinmesi veya aniden yenilenmesi
- Yönetici işlemlerinin alışılmadık ağ kaynağı, saat veya istemciyle yapılması
Alarm üretirken yalnız owner != id karşılaştırmasına güvenmek yetmez; uygulamanın id biçimi ve API sözleşmesi normalize edilmelidir. Tenant, kullanıcı ve nesne kimliği ayrı alanlarda kaydedilmeli; güvenli bir yönetim işleminin beklenen çapraz-organizasyon davranışı varsa onaylı servis hesabı ve değişiklik kaydıyla ilişkilendirilmelidir.
Olay müdahalesi kontrol listesi
Şüpheli bir çapraz-tenant işlem bulunduğunda şu sıra izlenebilir:
- Casdoor yönetim API'sini geniş erişime kapatın ve yalnız olay müdahale ekibinin kontrollü erişimini bırakın.
- İlgili organizasyon yöneticisi hesaplarının oturumlarını sonlandırın; parola ve MFA faktörlerini güvenli süreçle yenileyin.
- Kullanıcı, rol, Casbin izin, uygulama, sağlayıcı ve sertifika envanterini güvenilir son durumla karşılaştırın.
- Yönetici ekleme/silme kayıtlarının zaman çizelgesini ters proxy, Casdoor, veritabanı ve kimlik sağlayıcı günlükleriyle birleştirin.
- Eklenen arka kapı hesaplarını, joker izinleri ve bilinmeyen sertifikaları belirleyin; kanıt toplamadan silmeyin.
- OIDC/SAML istemci sırları veya imzalama anahtarları etkilenmiş olabilecekse bağlı uygulamalarla koordineli rotasyon planlayın.
- Temiz yedekten geri yükleme gerekiyorsa yalnız veriyi değil, yetki ve federasyon yapılandırmasını da doğrulayın.
Canlı kanıtların korunması önemlidir. Aceleyle tüm hesapları silmek veya yapılandırmayı sıfırlamak, saldırgan izlerini ve geri dönüş için gereken ilişki bilgisini yok edebilir. Müdahale adımları kurumun kanıt saklama ve değişiklik yönetimi süreçleriyle yürütülmelidir.
Kalıcı düzeltme nasıl olmalı?
Uygulama geliştiricileri için temel ilke, bir istekteki hedef nesnenin yalnız tek bir kanonik kaynaktan çözülmesidir. URL parametresi, yol parametresi ve JSON gövdesinde aynı kimlik taşınıyorsa hepsi eşitlenmeli; uyuşmazlık durumunda istek reddedilmelidir.
Yetkilendirme yalnız yönlendirici filtresinde bırakılmamalı. Nesneyi değiştiren servis veya veri erişim katmanı da çağıranın hedef tenant'a yetkisini doğrulamalıdır. Böylece üst katmanda yanlış hedef çözülse bile ikinci bir güvenlik sınırı oluşur. Birim ve entegrasyon testleri, URL ile gövdenin farklı tenant'ları gösterdiği olumsuz vakaları zorunlu olarak içermelidir.
Kurumlar üretici düzeltmesi yayımlandığında sürüm notunu, değişen kodu ve regresyon testini incelemeli; yalnız sürüm numarasına bakıp riskin kapandığını varsaymamalıdır. Düzeltmenin tüm etkilenen add/delete uç noktalarını ve nesne türlerini kapsadığı doğrulanmalıdır.
Sonuç
CVE-2026-15630, Casdoor'un çok kiracılı güvenlik modelinde yetkilendirme filtresi ile gerçek eylem hedefinin ayrışmasına yol açan kritik bir mantık hatasıdır. Herhangi bir organizasyonda yönetici yetkisi olan saldırgan, global yönetici olmadan başka tenant'ların kullanıcı, izin ve federasyon nesnelerine müdahale edebilir.
CERT/CC'nin 3 Eylül notunda bilinen bir yama bulunmadığı için en doğru yaklaşım; IsAdmin hesaplarını azaltmak, yönetim API'lerini dar ağ erişimine almak, URL/gövde tenant uyuşmazlığını geçici olarak engellemek ve organizasyonlar arası yönetim faaliyetini merkezi olarak izlemektir. Aktif istismar iddiası doğrulanmadığından spekülasyon yerine envanter, davranışsal günlük ve resmi düzeltme takibi öne çıkarılmalıdır.
Kaynaklar
- CERT/CC VU#889462 – Casdoor authorization bypass güvenlik notu
- Voke Cyber – CVE-2026-15630 teknik analiz ve geçici azaltımlar
- Casdoor resmi belgeleri – IsAdmin ve IsGlobalAdmin yetki kapsamı
- Casdoor resmi bağlantı belgeleri – OIDC, OAuth ve SSO entegrasyonları
TR Siber Ekibi