CVE-2021-32638
Açıklama
Github'ın CodeQL action'ı, GitHub dışındaki CI/CD sistemlerinde CodeQL tabanlı kod taraması çalıştırmak için sağlanmıştır ve bir GitHub deposuna bağlanmak için GitHub erişim belirteci gerektirir. Runner ve dokümantasyonu daha önce, GitHub belirtecinin bir dosyadan, standart girdiden veya bir ortam değişkeninden okunması yerine sürece komut satırı parametresi olarak geçirilmesini önermekteydi. Bu yaklaşım, belirtecin aynı makinedeki diğer süreçler tarafından görünür olmasına neden oluyordu; örneğin `ps` komutunun çıktısında görülebiliyordu. Eğer CI sistemi, çıktıları günlüğe kaydederek `ps` çıktısını herkese açık hale getirirse, GitHub erişim belirteci amaçlanan kapsamın dışında ifşa edilebilir. Üçüncü taraf sistemlerde CodeQL runner kullanan ve GitHub belirtecini `--github-auth` bayrağı ile ileten kullanıcılar etkilenmektedir. Bu durum hem GitHub.com hem de GitHub Enterprise kullanıcıları için geçerlidir. GitHub Actions üzerinde CodeQL Action kullananlar etkilenmemektedir. `--github-auth` bayrağı artık güvensiz kabul edilmekte ve kullanımdan kaldırılmaktadır. Dokümante edilmemiş olan `--external-repository-token` bayrağı kaldırılmıştır. Bir GitHub erişim belirtecini CodeQL runner'a güvenli bir şekilde sağlamak için kullanıcılar **bunun yerine aşağıdakilerden birini yapmalıdır**: `--github-auth-stdin` bayrağını kullanın ve belirteci komut satırında standart girdi aracılığıyla iletin VEYA belirteci içerecek şekilde `GITHUB_TOKEN` ortam değişkenini ayarlayın, ardından komutu belirteci geçirmeden çağırın. Eski bayrak, mevcut iş akışlarıyla geriye dönük uyumluluk için mevcut kalmaya devam etmektedir. Kullanıcı `--github-auth` bayrağını kullanarak bir erişim belirteci belirtmeye çalışırsa, terminale kullanıcıyı yukarıdaki seçeneklerden birine yönlendiren bir kullanımdan kaldırma uyarısı yazdırılır. codeql-bundle-20210304 ve sonrası tüm CodeQL runner sürümleri yamaları içermektedir. CodeQL runner'ın güncel bir sürümüne yükseltmenizi, belirteci CI sisteminizin gizli depolama mekanizmasında saklamanızı ve belirteci `--github-auth-stdin` veya `GITHUB_TOKEN` ortam değişkenini kullanarak CodeQL runner'a iletmenizi öneririz. Hala eski bayrak kullanılıyorsa, `ps` gibi süreç çıktılarının CI günlüklerinde saklanmadığından emin olun.
Nasıl düzeltilir
- github codeql_action20210304 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| github codeql_action | v < 20210304 | 20210304 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.