AWS CodeBuild Yanlış Yapılandırması GitHub Depolarını Potansiyel Tedarik Zinciri Saldırılarına Maruz Bıraktı


Amazon Web Services (AWS) CodeBuild’deki kritik bir yanlış yapılandırma, AWS JavaScript SDK’sı da dahil olmak üzere bulut hizmeti sağlayıcısının kendi GitHub depolarının tamamen ele geçirilmesine izin vererek her AWS ortamını riske atabilirdi.

Güvenlik açığına kod adı verildi Kod İhlali bulut güvenlik şirketi Wiz tarafından. Sorun, 25 Ağustos 2025’teki sorumlu açıklamanın ardından Eylül 2025’te AWS tarafından düzeltildi.

Araştırmacılar Yuval Avrahami ve Nir Ohfeld, The Hacker News ile paylaşılan bir raporda şunları söyledi: “Saldırganlar, CodeBreach’i kullanarak platform çapında bir güvenlik açığı başlatmak için kötü amaçlı kod enjekte edebilir ve potansiyel olarak yalnızca SDK’ya bağlı sayısız uygulamayı değil, Konsolun kendisini de etkileyerek her AWS hesabını tehdit edebilir.”

Wiz, kusurun, kimliği doğrulanmamış saldırganların derleme ortamını ihlal etmesine, GitHub yönetici belirteçleri gibi ayrıcalıklı kimlik bilgilerini sızdırmasına ve ardından bunları tehlikeye atılmış depoya kötü niyetli değişiklikler göndermek için kullanmasına ve böylece tedarik zinciri saldırıları için bir yol oluşturmasına olanak tanıyan sürekli entegrasyon (CI) boru hatlarındaki bir zayıflığın sonucu olduğunu belirtti.

Başka bir deyişle sorun, yalnızca belirli olayların bir CI derlemesini tetiklemesini sağlamak için AWS tarafından sunulan web kancası filtrelerini zayıflatıyor. Örneğin, AWS CodeBuild, bir derlemenin yalnızca belirli bir dalda kod değişiklikleri yapıldığında veya GitHub ya da GitHub Kurumsal Sunucu hesap kimliği (ACTOR_ID veya aktör kimliği olarak da bilinir) normal ifade modeliyle eşleştiğinde tetiklenecek şekilde yapılandırılabilir. Bu filtreler güvenilmeyen çekme isteklerine karşı koruma sağlar.

Siber güvenlik

Yanlış yapılandırma, derlemeleri çekme istekleri üzerine çalıştıracak şekilde yapılandırılmış olan, AWS tarafından yönetilen aşağıdaki açık kaynaklı GitHub depolarını etkiledi:

  • aws-sdk-js-v3
  • aws-lc
  • amazon-corretto-kripto sağlayıcısı
  • awslabs/açık veri kaydı

Bir ACTOR_ID filtresi uygulayan dört proje, tam bir düzenli ifade (regex) eşleşmesi sağlamak için gerekli olan iki karakteri (yani başlangıç ​​^ ve bitiş $ bağlantılarını) içermemeleri nedeniyle “ölümcül bir kusur” yaşadı. Bunun yerine, regex modeli, onaylanmış bir kimliğin (örneğin, 755743) üst dizesi olan herhangi bir GitHub kullanıcı kimliğinin filtreyi atlamasına ve derlemeyi tetiklemesine izin verdi.

GitHub sayısal kullanıcı kimliklerini sırayla atadığından Wiz, yeni kullanıcı kimliklerinin (şu anda 9 haneli uzunlukta) güvenilir bir bakım sağlayıcının altı haneli kimliğini yaklaşık her beş günde bir “gölgelendireceğini” tahmin edebildiğini söyledi. Bu içgörü, uygulama oluşturmayı otomatikleştirmek için GitHub Apps’ın kullanımıyla birleştiğinde (ki bu da karşılık gelen bir bot kullanıcısı oluşturur), yüzlerce yeni bot kullanıcısı kaydını tetikleyerek bir hedef kimliğin (örn. 226755743) oluşturulmasını mümkün kıldı.

Aktör kimliğiyle donanmış bir saldırgan artık bir derlemeyi tetikleyebilir ve aws-sdk-js-v3 CodeBuild projesinin GitHub kimlik bilgilerini (aws-sdk-js-automation kullanıcısına ait olan ve depo üzerinde tam yönetici ayrıcalıklarına sahip olan bir Kişisel Erişim Simgesi (PAT)) elde edebilir.

Saldırgan bu yükseltilmiş erişimi, kodu doğrudan ana şubeye göndermek, çekme isteklerini onaylamak ve depo sırlarını sızdırmak için silah olarak kullanabilir ve sonuçta tedarik zinciri saldırılarına zemin hazırlayabilir.

AWS, bugün yayınlanan bir danışma belgesinde “Yukarıdaki depoların, güvenilir aktör kimliklerini sınırlamayı amaçlayan AWS CodeBuild web kancası filtreleri için yapılandırılmış normal ifadeleri yetersizdi ve tahmin edilebileceği şekilde edinilen bir aktör kimliğinin etkilenen depolar için yönetim izinleri almasına olanak tanıdı” dedi.

“Bunların, bu depolar için webhook aktör kimliği filtrelerindeki projeye özgü yanlış yapılandırmalar olduğunu ve CodeBuild hizmetinin kendisinde bir sorun olmadığını doğrulayabiliriz.”

Amazon ayrıca, kimlik bilgisi rotasyonları ve GitHub belirteçlerini veya bellekteki diğer kimlik bilgilerini içeren derleme süreçlerini güvence altına almaya yönelik adımlar gibi ek hafifletici önlemlerin uygulanmasının yanı sıra, belirlenen sorunları düzelttiğini de söyledi. Ayrıca CodeBreach’in vahşi ortamda istismar edildiğine dair hiçbir kanıt bulamadığını vurguladı.

Bu tür riskleri azaltmak için, yeni Çekme İsteği Yorum Onayı oluşturma geçidini etkinleştirerek güvenilmeyen katkıların ayrıcalıklı CI/CD ardışık düzenlerini tetiklememesi, GitHub iş akışları aracılığıyla derleme tetikleyicilerini yönetmek için CodeBuild tarafından barındırılan çalıştırıcıların kullanılması, web kancası filtrelerindeki normal ifade modellerinin sabitlendiğinden emin olunması, her CodeBuild projesi için benzersiz bir PAT oluşturulması, PAT izinlerini gereken minimum değerle sınırlandırılması ve bunun için özel, ayrıcalıksız bir GitHub hesabı kullanmayı düşünmesi önemlidir. CodeBuild entegrasyonu.

Siber güvenlik

Wiz araştırmacıları, “Bu güvenlik açığı, rakiplerin neden CI/CD ortamlarını hedeflediğine dair ders kitaplarında yer alan bir örnektir: büyük etki yaratmak için istismar edilebilecek, kolayca gözden kaçan, incelikli bir kusur.” dedi. “Karmaşıklık, güvenilmeyen veriler ve ayrıcalıklı kimlik bilgilerinin bu birleşimi, önceden erişim gerektirmeyen yüksek etkili ihlaller için mükemmel bir fırtına yaratıyor.”

Bu, CI/CD boru hattı güvenliğinin incelemeye alındığı ilk sefer değil. Geçen yıl Sysdig’in araştırması, pull_request_target tetikleyicisiyle ilişkili güvenli olmayan GitHub Eylemleri iş akışlarının, ayrıcalıklı GITHUB_TOKEN’i sızdırmak ve bir çataldan tek bir çekme isteği kullanarak düzinelerce açık kaynaklı projeye yetkisiz erişim sağlamak için nasıl istismar edilebileceğini ayrıntılı olarak açıkladı.

Orca Security tarafından yapılan benzer iki bölümlü bir analiz, Google, Microsoft, NVIDIA ve diğer Fortune-500 şirketlerinin projelerinde, saldırganların rastgele kod çalıştırmasına, hassas sırları sızdırmasına ve kötü amaçlı kodları veya bağımlılıkları güvenilir dallara göndermesine olanak tanıyan güvenli olmayan pull_request_target buldu. Bu fenomene pull_request_nightmare adı verildi.

Güvenlik araştırmacısı Roi Nisimi, “pull_request_target yoluyla tetiklenen yanlış yapılandırılmış iş akışlarını kötüye kullanarak, rakipler güvenilmeyen çatallı bir çekme isteğinden GitHub tarafından barındırılan ve hatta kendi kendine barındırılan çalıştırıcılarda uzaktan kod yürütmeye (RCE) geçebilir” dedi.

“pull_request_target’ı kullanan GitHub Eylemleri iş akışları, güvenilmeyen kodu asla uygun bir doğrulama olmadan teslim almamalıdır. Bunu yaptıklarında, tam güvenlik ihlali riskiyle karşı karşıya kalırlar.”



Source link