CVE-2026-54894
Açıklama
ueberauth guardian'da Kaynakların Sınırsız veya Kısıtlamasız Tahsisi, saldırgan etkisi altındaki ikili girdiden sınırsız atom oluşturulması yoluyla hizmet reddine olanak tanır. Guardian.Plug.Keys, bağlantı ve oturum ad alanı anahtarlarını rastgele ikili verileri String.to_atom/1'e geçirerek türetir. lib/guardian/plug/keys.ex içindeki base_key/1, herhangi bir ikili veriyi :"guardian_<input>" atomuna dönüştürür ve türetilen yardımcılar claims_key/1, resource_key/1 ve token_key/1 bunun üzerine ikinci bir atom oluşturur. key_from_other/1 de benzer şekilde bir regex ile yakalanan ikili veriyi String.to_atom/1 aracılığıyla dönüştürür. Genel spesifikasyonlar String.t()'yi geçerli bir argüman olarak tanıtır, dolayısıyla bir dize geçirmek belgelenmiş kullanımdır ve Guardian.Plug.current_token(conn, key: key) gibi üst düzey giriş noktaları çağıran tarafından sağlanan anahtarı doğrudan bu işlevlere iletir. String.to_atom/1, daha önce görülmemiş her ikili veri için yepyeni bir atom oluşturur, atomlar hiçbir zaman çöp toplama ile temizlenmez ve BEAM atom tablosu varsayılan olarak yaklaşık 1.048.576 girişle sabittir. Saldırgan etkisi altındaki verileri (bir kiracı tanımlayıcısı, başlık veya diğer istek girdisi) bir Guardian anahtarına yönlendiren bir uygulama, bu nedenle her farklı değer için kalıcı bir atom üretir. Çeşitli, kimliği doğrulanmamış girdiden oluşan mütevazı bir akış, atom tablosunu kalıcı olarak tüketir ve BEAM düğümünü çökertir, üzerinde çalışan her uygulamayı devre dışı bırakır. Bu sorun guardian'ı etkiler: 0.1.0'dan 2.4.1 öncesine kadar.
Nasıl düzeltilir
- ueberauth guardian2.4.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| ueberauth guardian | v < 2.4.1 | 2.4.1 |
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.