GitHub Actions yapıtlarında yeni keşfedilen bir saldırı vektörü ArtiPACKED kuruluşların bulut ortamlarına erişim sağlamak ve depoları ele geçirmek için kullanılabilir.
“Yanlış yapılandırmalar ve güvenlik açıklarının birleşimi, eserlerin hem üçüncü taraf bulut hizmetleri hem de GitHub token’larını sızdırmasına neden olabilir ve bunları depoya okuma erişimi olan herkesin kullanımına sunabilir,” Palo Alto Networks Unit 42 araştırmacısı Yaron Avital söz konusu Bu hafta yayınlanan bir raporda.
“Bu durum, bu eserlere erişimi olan kötü niyetli aktörlerin, bu sırların erişim sağladığı hizmetleri tehlikeye atma potansiyeline sahip olmasına neden oluyor.”
Siber güvenlik şirketi, öncelikle GitHub token’larının (örneğin GITHUB_TOKEN ve ACTIONS_RUNTIME_TOKEN) sızdırıldığını gözlemlediğini söyledi. Bu token’lar kötü niyetli kişilere depolara yetkisiz erişim sağlamakla kalmıyor, aynı zamanda onlara kaynak kodunu zehirleme ve CI/CD iş akışları aracılığıyla üretime gönderme yeteneği de veriyor.
GitHub’daki Eserler izin vermek kullanıcıların bir iş akışındaki işler arasında veri paylaşmalarını ve bu bilgileri tamamlandıktan sonra 90 gün boyunca saklamalarını sağlar. Bu, yapıları, günlük dosyalarını, çekirdek dökümlerini, test çıktılarını ve dağıtım paketlerini içerebilir.
Buradaki güvenlik sorunu, açık kaynaklı projeler söz konusu olduğunda bu yapıtların herkese açık olması ve bu sayede GitHub erişim belirteçleri gibi sırları çıkarmak için değerli bir kaynak haline gelmeleridir.
Özellikle, eserlerin, yaklaşık altı saatlik bir ömre sahip olan ve süresi dolmadan önce eseri kötü amaçlı bir sürümle değiştirmek için kullanılabilen ACTIONS_RUNTIME_TOKEN adı verilen belgelenmemiş bir ortam değişkenini açığa çıkardığı tespit edildi.
Bu, geliştiriciler doğrudan kötü amaçlı yazılımı indirip çalıştırdığında veya daha önce yüklenen yazılımlara dayalı olarak çalışacak şekilde yapılandırılmış sonraki bir iş akışı işi olduğunda uzaktan kod yürütme için bir saldırı penceresi açabilir.
GITHUB_TOKEN iş sona erdiğinde sona ererken, yapıt özelliğinde yapılan iyileştirmeler sürüm 4 bir saldırganın, iş akışı çalışması devam ederken bir yapıtı indirerek belirteci çalmak ve kullanmak için yarış koşulu senaryolarından yararlanabileceği anlamına geliyordu.
Çalınan token daha sonra, boru hattı işi bitmeden ve token geçersiz kılınmadan önce yeni bir dal oluşturarak kötü amaçlı kodu depoya itmek için kullanılabilir. Ancak, bu saldırı iş akışının “içerikler: yazma” iznine sahip olmasına dayanır.
Burada dikkat edilmesi gereken önemli bir nokta, GitHub token’larının depo kodunun bir parçası olmaması, yalnızca bir CI/CD işlem hattı tetiklendiğinde ve token’ları içeren bir yapıt yüklendiğinde açığa çıkması ve böylece bir saldırganın yapıtı indirmesine, token’a erişmesine ve bunu depoya kötü amaçlı kod enjekte etmek için kullanmasına olanak vermesidir.
Amazon Web Services (AWS), Google, Microsoft, Red Hat ve Ubuntu ile ilgili bir dizi açık kaynaklı deponun saldırıya karşı savunmasız olduğu bulundu. GitHub ise sorunu bilgi amaçlı olarak kategorize etti ve kullanıcıların yükledikleri eserleri güvence altına almaları gerektiğini belirtti.
“GitHub’ın Artifacts V3’ü kullanımdan kaldırması, artifacts mekanizmasını kullanan kuruluşları, onu kullanma biçimlerini yeniden değerlendirmeye teşvik etmelidir,” dedi Avital. “Derleme artifacts gibi gözden kaçan unsurlar, saldırganlar için sıklıkla birincil hedef haline gelir.”