CVE-2026-96596
Açıklama
Erlang OTP stdlib (erl_tar modülü), hexpm hex_core (hex_erl_tar modülü), hexpm hex (mix_hex_erl_tar modülü) ve erlang rebar3 (r3_hex_erl_tar modülü) bileşenlerindeki Ulaşılamaz Çıkış Koşullu Döngü ('Sonsuz Döngü') zafiyeti, bir tar arşivi sağlayan saldırganın, özel olarak hazırlanmış bir GNU sparse üyesi aracılığıyla hizmet reddi (DoS) durumuna yol açmasına izin verir. erl_tar:extract/1,2 bir üyeyi diske yazdığında, erl_tar:stream_to_file_loop/3 varsayılan olarak bunu 65536 baytlık parçalar halinde okur. Sparse haritası gerçek boyutundan önce sona eren bir GNU sparse üyesi için, erl_tar:do_sparse_read/3 sıfır uzunluklu yan tümcesinden önce sondaki boşluk (trailing-hole) yan tümcesini eşleştirir. Parça tüketildikten sonra, trailing-hole yan tümcesi sıfır bayt okur, konumu ilerletmez ve sonsuza kadar özyineleme yapar. 2048 baytlık bir arşiv, işlem sonlandırılana kadar çıkarma işlemini gerçekleştiren süreci ve bir zamanlayıcıyı meşgul eder. {max_size, N} seçeneği, bunu yalnızca N değeri üyenin gerçek boyutunun altında olduğunda önler. Bellek (memory) seçeneği ile yapılan çıkarmalar etkilenmez. hex_core, erl_tar'ın kendi kopyasını hex_erl_tar olarak sunar; Hex ve rebar3 ise hex_core'u ön ekli modül adlarıyla (mix_hex_erl_tar ve r3_hex_erl_tar) sunar. Bu kopyalar aynı kodu içerir ve stdlib'in erl_tar modülünü çağırmazlar, bu nedenle herhangi bir OTP sürümünde etkilenirler. OTP 28 etkilenmemiştir ancak OTP 28 üzerinde çalışan bir uygulama, arşivleri hex_core, Hex veya rebar3'ün etkilenen bir sürümü üzerinden çıkarıyorsa etkilenir. Bu sorun; OTP 29.0'dan OTP 29.1.2 öncesine, buna karşılık gelen rebar3 3.27.1'den 3.28.0 öncesine, stdlib 8.0'dan 8.1.1 öncesine, hex 2.4.2'den 2.5.3 öncesine ve hex_core 0.14.0'dan 0.20.1 öncesine kadar olan sürümleri etkilemektedir.
Nasıl düzeltilir
- erlang rebar33.28.0, 310e2ec8c7dd3df05d67af2b7fae23f30fc523c4 ya da sonraki bir sürüm
- hexpm hex_core0.20.1, a2ece683e6e88a3ec95ad20b09aca426e08b372e ya da sonraki bir sürüm
- erlang erlang\/otp29.1.2, 8.1.1, 3086307f311b78b38644a7787a3aca6a3f95a9d5 ya da sonraki bir sürüm
- hexpm hex2.5.3 ya da sonraki bir sürüm
- github.com/erlang/rebar3/commit/310e2ec8c7dd3df05d67af2b7fae23f30fc523c4
- github.com/hexpm/hex_core/commit/a2ece683e6e88a3ec95ad20b09aca426e08b372e
- github.com/erlang/otp/commit/3086307f311b78b38644a7787a3aca6a3f95a9d5
- github.com/hexpm/hex/commit/8e1067131a13949eff30623f31648a945ffd5418
- github.com/hexpm/hex/commit/7847c23d09ab52113614c3718e1e7d368743da5d
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| erlang rebar3 | 3.27.1 ≤ v < 3.28.0, 23dbdb5d1f87f56902aef296c88a20049cd0c6e4 ≤ v < 310e2ec8c7dd3df05d67af2b7fae23f30fc523c4 | 3.28.0, 310e2ec8c7dd3df05d67af2b7fae23f30fc523c4 |
| hexpm hex_core | 0.14.0 ≤ v < 0.20.1, 13bb9fbba418a406af614790b8d5cd458259ee70 ≤ v < a2ece683e6e88a3ec95ad20b09aca426e08b372e | 0.20.1, a2ece683e6e88a3ec95ad20b09aca426e08b372e |
| erlang erlang\/otp | 29.0 ≤ v < 29.1.2, 8.0 ≤ v < 8.1.1, fbf2c7194f6fce4b7b66dc0bcaa4f6b4b85e088f ≤ v < 3086307f311b78b38644a7787a3aca6a3f95a9d5 | 29.1.2, 8.1.1, 3086307f311b78b38644a7787a3aca6a3f95a9d5 |
| hexpm hex | 2.4.2 ≤ v < 2.5.3, 5543a1919c709d8eb2b317f62aad76ca1eed375c | 2.5.3 |
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.