Bir saldırgan, 19 Ekim Pazartesi günü OVHcloud'un komut satırı aracının beş GitHub sürümündeki indirme dosyalarını gizlice değiştirerek disk üzerindeki kimlik bilgilerini çalan zararlı yapılar yükledi. Değiştirilen dosyalar 94 dakika boyunca erişilebilir kaldı.
Siber Güvenlik
Admin4 okunma

OVHcloud CLI Aracının Beş Sürümü Ele Geçirildi: Saldırganlar 94 Dakika Boyunca Zararlı Yazılım Dağıttı

Bir saldırgan, 19 Ekim Pazartesi günü OVHcloud'un komut satırı aracının beş GitHub sürümündeki indirme dosyalarını gizlice değiştirerek disk üzerindeki kimlik bilgilerini çalan zararlı yapılar yükledi. Değiştirilen dosyalar 94 dakika boyunca erişilebilir kaldı.

OVHcloud CLI Aracının Beş Sürümü Ele Geçirildi: Saldırganlar 94 Dakika Boyunca Zararlı Yazılım Dağıttı

Haber detayı

19 Ekim Pazartesi günü, kimliği belirsiz bir saldırgan, OVHcloud'un komut satırı aracı CLI'nin GitHub üzerindeki beş farklı sürümüne ait indirme arşivlerini zararlı dosyalarla değiştirdi. Ele geçirilen bir katkıda bulunanın hesabı üzerinden gerçekleştirilen bu işlemde, yüklenen yapı, çalıştırıldığı makinenin diskinde depolanan gizli bilgileri çalmak amacıyla tasarlanmıştı. OVHcloud, değiştirilen dosyaların 12:47 ile 14:21 UTC saatleri arasında, yani toplam 94 dakika süreyle GitHub üzerinde canlı kaldığını açıkladı.

Hangi Sürümler ve Platformlar Etkilendi?​

OVHcloud, v0.11.0 ile v0.15.0 arasındaki beş sürümü tehlikeye girmiş olarak tanımlarken v0.10.0'ı temiz kabul ediyor. Bu sürümler 14 Nisan ile 16 Eylül tarihleri arasında yayımlanmıştı. Saldırgan v0.15.0 sürümünde macOS x86_64 ve arm64, Linux x86_64 ve arm64, Windows x86_64 arşivleri ile checksums.txt dosyası olmak üzere toplam altı dosyayı değiştirdi; yayımlanan hash değerlerinin yeni ikili dosyalarla eşleşmesi için sağlama toplamı dosyası da güncellendi. Aynı altı dosya v0.11.0'dan v0.14.0'a kadar olan sürümlerden de kaldırıldı. Linux i386, Windows i386, Windows arm64 ve WebAssembly yapıları ise tüm sürümlerde dokunulmadan bırakıldı.
Etkilenme riski taşıyan kullanıcılar şu üç yoldan birini izlemiş olanlardır: söz konusu zaman diliminde resmi kurulum betiğini çalıştıranlar (curl komutuyla indirilen bu betik hiçbir zaman hash doğrulaması yapmamıştır), GitHub sürüm sayfasından etkilenen beş sürümden birinin arşivini indirenler ve hash sabitleme olmaksızın arşiv indiren CI/CD iş akışlarını çalıştıranlar. Bunlara ek olarak, betik ya da elle kurulum yoluyla yüklenen v0.12.0, v0.13.0 veya v0.14.0 sürümlerinden macOS ya da Linux'ta yükseltme komutu çalıştıranlar da risk altındaydı; bu komut da hash doğrulaması yapmadan arşivi indirip ikili dosyayı değiştiriyor.
Öte yandan Homebrew aracılığıyla kurulum yapanlar zararlı dosyayı almadı. Homebrew'in söz konusu pencere sırasında geçerli olan cask tanımı, her arşivin özgün SHA-256 değerini sabitlemiş durumdaydı; hash eşleşmediğinde Homebrew kurulumu gerçekleştirmek yerine hata veriyor. go install veya kaynak koddan derleme yapanlar, Docker imajını kullananlar (son güncelleme 21 Eylül'deydi ve değiştirilmemişti) ile 12:47 UTC öncesinde kurup pencere boyunca güncelleme yapmayanlar da etkilenmedi.

Zararlı Yapı Nasıl Tespit Edildi?​

Değişikliği fark eden kullanıcı, yeni v0.15.0 Linux arm64 ikili dosyasından go version -m komutuyla derleme bilgilerini çekti ve bunu bir GitHub issue'sunda paylaştı. Bu yöntem dosyayı çalıştırmadan incelemeye olanak tanıyor. Zararlı yapıyı işaret eden üç belirgin iz bulunuyor: Modül satırı, etiketlenmemiş bir commit için Go'nun ürettiği sözde sürüm dizesi olan v0.15.1-0.20261013083505-5ead8ef9b43d+dirty değerini taşıyor; gerçek bir sürümde etiket numarası yer alıyor, nitekim temiz v0.16.0 yapısı v0.16.0+dirty olarak görünüyor. Kayıtlı commit, v0.15.0 etiketinin işaret ettiği 760fd72 yerine 5ead8ef olarak görünüyor. Son olarak -ldflags="-s -w" satırı mevcut; OVHcloud'un sürüm hattı bir sürüm bayrağıyla derleme yaptığından gerçek sürümlerde bu satır hiç yer almıyor.
Değiştirilen v0.15.0 Linux arm64 arşivinin SHA-256 değeri 3833daffcaaaab27e4e0e0833240ffcb1df8df648f4ec0bc4a75c176e28933cb olarak yayımlandı; özgün arşivin değeri ise 5c2beb56e6d83a4b426565a1557791ef759316abcc4effb38dd627c90aeb80e0. Kamuoyuyla paylaşılan tek hash bu ikisi olmakla birlikte, değiştirilen diğer arşivlerin hash değerleri henüz açıklanmadı.

Etkilenenlerin Yapması Gerekenler​

OVHcloud'un kurucusu Octave Klaba, Pazartesi akşamı X'te yaptığı açıklamada etkilenen herkesin diskte depolanan tüm gizli bilgileri değiştirmesi gerektiğini belirtti. CLI, OVHcloud API kimlik bilgilerini ~/.ovh.conf dosyasında saklıyor ve bunları ortam değişkenlerinden okuyor; ancak tavsiye yalnızca bu dosyaları değil, makineden okunabilecek her şeyi kapsıyor. Zararlı yapıyı çalıştırdığından emin olanlar ya da emin olamayanlar, o makineden erişilebilen tüm gizli bilgileri ifşa olmuş kabul edip döndürmeli. OpenSourceMalware bu işlemi farklı bir makineden yapılmasını da öneriyor.
İkili dosyayı kaldırıp v0.16.0'ı yüklemek gerekiyor. Bu sürüm değişmez (immutable) olarak yayımlandı ve dosyalarının imzalı kaydını içeren bir sürüm onayı taşıyor. Güncelleme programı değiştiriyor ancak önceden kopyalanmış bir anahtarı iptal etmiyor; bu nedenle önce döndürme işlemi yapılmalı. İndirilen arşivi doğrulamak için gh release verify-asset v0.16.0 DOSYA komutu kullanılabilir.

Saldırının Arka Planı ve GlassWorm Bağlantısı​

GitHub'da bir depoya yazma erişimi olan herkes, değişmezlik etkinleştirilmemiş sürümlere eklenen dosyaları silip aynı adlarla yenilerini yükleyebiliyor; indirme URL'si de değişmiyor. Ekim 2025'ten itibaren genel kullanıma sunulan bu değişmezlik ayarı, etkinleştirildiği andan sonra oluşturulan sürümleri koruyor. OVHcloud bu ayarı aktif etmemişti. Klaba, ikinci paylaşımında sorunun değişmezlik seçeneğinin etkinleştirilmemiş olmasından kaynaklandığını ve doğru izinlere sahip bir kullanıcının şirketin CI/CD hattından herhangi bir denetim geçmeksizin mevcut sürümleri doğrudan değiştirebildiğini belirtti. Seçenek artık etkinleştirildi.
Yüklemeler, OVHcloud'un dokümantasyon deposuna katkıda bulunan ve organizasyonun kamuya açık üyesi olmayan bir hesap üzerinden gerçekleşti. OpenSourceMalware, GitHub'ın sunucu taraflı kayıtlarından oluşturduğu zaman çizelgesine göre sürüm iş akışının hiç çalışmadığını belirledi: 16 Ekim ile Pazartesi günü 16:00 UTC'deki v0.16.0 etiket gönderimi arasında herhangi bir iş akışı kaydı bulunmuyor. OVHcloud, hesap kimlik bilgilerinin nasıl ele geçirildiğini henüz açıklamadı.
OpenSourceMalware, hesabı GlassWorm adlı kötü amaçlı yazılım kampanyasıyla ilişkilendiriyor. Bu kampanya, görünmez Unicode karakterleri içine kod gizliyor ve sonraki aşamasını bir Solana cüzdanının işlem memo alanından çekiyor. Araştırmacılar, hesaba ait dört kişisel deponun 5-6 Mart tarihlerinde bu tür bir yükleyici ekleyen değiştirilmiş bir commit ile zorla gönderildiğini (force-push) tespit etti. Söz konusu yükleyicinin okuduğu cüzdan, Mart ayında çalıntı GitHub token'larıyla yüzlerce Python deposuna zararlı yazılım yerleştiren GlassWorm'un ForceMemo kampanyasında adı geçen cüzdanla aynı. Yükleyici dosyasının araştırmacıların yayımladığı hash değeriyle hâlâ depolardan birinde bulunduğu doğrulandı. Ancak araştırmacılar, aynı aktörün her iki saldırıyı da gerçekleştirip gerçekleştirmediğinin kendi çıkarımları olduğunu belirtiyor; ortak bağlantı paylaşılan hesap ve hiçbir zararlı arşiv kopyası korunmadığından Ekim ayı ikili dosyasının GlassWorm ile doğrudan ilişkisi henüz kurulabilmiş değil.
OVHcloud, ikili dosyanın hangi dosyaları okuduğunu, verileri nereye gönderdiğini ya da kaç kopyanın indirildiğini açıklamadı. Şirket, önümüzdeki günlerde ayrıntılı bir olay sonrası rapor yayımlayacağını duyurdu.

Sıkça Sorulan Sorular​

Zararlı dosyalar GitHub'da ne kadar süre erişilebilir kaldı?​

Değiştirilen dosyalar 19 Ekim Pazartesi günü 12:47 ile 14:21 UTC saatleri arasında, yani toplam 94 dakika boyunca GitHub üzerinde erişilebilir kaldı.

Homebrew kullanıcıları bu saldırıdan etkilendi mi?​

Hayır. Homebrew'in söz konusu pencere sırasında geçerli olan cask tanımı, her arşivin özgün SHA-256 değerini sabitlemişti. Hash eşleşmediği için Homebrew, zararlı dosyayı yüklemek yerine hata verdi. Bazı ilk raporlar Homebrew'i etkilenen yollar arasında gösterse de tap'in commit geçmişinin incelenmesi bu iddianın doğru olmadığını ortaya koydu.

Etkilenip etkilenmediğimi nasıl anlayabilirim?​

Zararlı yapıyı çalıştırmadan tespit etmek için go version -m komutu kullanılabilir. Zararlı yapıda modül satırı v0.15.1-0.20261013083505-5ead8ef9b43d+dirty sözde sürüm dizesini, kayıtlı commit ise 760fd72 yerine 5ead8ef değerini taşıyor. Ayrıca -ldflags="-s -w" satırının varlığı da zararlı yapıya işaret ediyor; OVHcloud'un gerçek sürümlerinde bu satır bulunmuyor.

Zararlı yapıyı çalıştırdıysam ne yapmalıyım?​

OVHcloud kurucusu Octave Klaba, etkilenen herkesin diskte depolanan tüm gizli bilgileri değiştirmesi gerektiğini açıkladı. OpenSourceMalware bu işlemin farklı bir makineden yapılmasını öneriyor. Ardından zararlı ikili dosya kaldırılıp v0.16.0 kurulmalı; güncelleme programı değiştiriyor ancak önceden kopyalanmış anahtarları iptal etmiyor, bu nedenle önce döndürme işlemi yapılmalı.

Saldırının GlassWorm kampanyasıyla bağlantısı kesinleşti mi?​

Hayır. OpenSourceMalware, ele geçirilen hesabı GlassWorm kampanyasıyla ilişkilendiriyor; hesabın depolarının Mart ayında bu kampanyayla bağlantılı bir yükleyici içeren commit'lerle zorla güncellendiği tespit edildi. Ancak araştırmacılar bu bağlantının kendi çıkarımları olduğunu vurguluyor. Zararlı arşivin hiçbir kopyası korunamadığından Ekim ayı ikili dosyası ile GlassWorm arasında doğrudan bir ilişki kurulabilmiş değil.

Etiketler

Yorumlar (0)

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

Geri
Üst