CVE-2026-96596
Təsvir
Erlang OTP stdlib (erl_tar modulu), hexpm hex_core (hex_erl_tar modulu), hexpm hex (mix_hex_erl_tar modulu) və erlang rebar3 (r3_hex_erl_tar modulu) komponentlərindəki çatılmaz çıxış şərtli dövr ('Sonsuz Dövr') zəifliyi, tar arxivini təqdim edən hücumçunun xüsusi hazırlanmış GNU sparse üzvü vasitəsilə xidmətdən imtina (DoS) halına səbəb olmasına imkan verir. erl_tar:extract/1,2 bir üzvü diskə yazarkən, erl_tar:stream_to_file_loop/3 onu standart olaraq 65536 baytlıq hissələrlə oxuyur. Sparse xəritəsi real ölçüsündən əvvəl bitən GNU sparse üzvü üçün erl_tar:do_sparse_read/3 funksiyası sıfır uzunluqlu bənddən əvvəl onun son boşluq (trailing-hole) bəndini uyğunlaşdırır. Hissə istifadə edildikdən sonra, son boşluq bəndi sıfır bayt oxuyur, mövqeyi irəli çəkmir və sonsuz rekursiyaya girir. 2048 baytlıq arxiv, proses öldürülənə qədər ekstraksiya prosesini və bir planlayıcını (scheduler) məşğul saxlayır. {max_size, N} seçimi bunu yalnız N üzvün real ölçüsündən kiçik olduqda önləyir. Yaddaş (memory) seçimi ilə ekstraksiya buna təsir etmir. hex_core öz erl_tar nüsxəsini hex_erl_tar kimi təqdim edir, Hex və rebar3 isə hex_core-u prefiksli modul adları ilə (mix_hex_erl_tar və r3_hex_erl_tar) təmin edir. Bu nüsxələr eyni kodu ehtiva edir və stdlib-in erl_tar modulunu çağırmırlar, buna görə də hər hansı OTP versiyasında təsirlənirlər. OTP 28 təsirlənmir, lakin OTP 28-də işləyən tətbiq, əgər arxivləri hex_core, Hex və ya rebar3-ün təsirlənmiş versiyaları vasitəsilə ekstraktə edirsə, təsirlənir. Bu problem OTP 29.0-dan OTP 29.1.2-yə qədər olan versiyalara, müvafiq olaraq rebar3 3.27.1-dən 3.28.0-a qədər, stdlib 8.0-dan 8.1.1-ə qədər, hex 2.4.2-dən 2.5.3-ə qədər və hex_core 0.14.0-dan 0.20.1-ə qədər olan versiyalara təsir göstərir.
Necə düzəltmək olar
- erlang rebar33.28.0, 310e2ec8c7dd3df05d67af2b7fae23f30fc523c4 və ya daha yeni versiya
- hexpm hex_core0.20.1, a2ece683e6e88a3ec95ad20b09aca426e08b372e və ya daha yeni versiya
- erlang erlang\/otp29.1.2, 8.1.1, 3086307f311b78b38644a7787a3aca6a3f95a9d5 və ya daha yeni versiya
- hexpm hex2.5.3 və ya daha yeni versiya
- 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
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| 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 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.