Direct naar de inhoud
⚡ Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
cybernieuws.nl Cybersecurity en informatiebeveiling nieuws alerts live · 12 min 169 bronnen 2 kritiek 1 vandaag
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-96596

NONE Gepubliceerd: CWE-835

Beschrijving NL

Loop met Unreachable Exit Condition ('Infinite Loop') kwetsbaarheid in Erlang OTP stdlib (erl_tar module), hexpm hex_core (hex_erl_tar module), hexpm hex (mix_hex_erl_tar module) en erlang rebar3 (r3_hex_erl_tar module) stelt een aanvaller die een teerarchief levert in staat om een denial of service te veroorzaken via een vervaardigd GNU schaars lid. Wanneer erl_tar:extract/1,2 een lid naar schijf schrijft, leest erl_tar:stream_to_file_loop/3 het standaard in brokken van 65536 bytes. Voor een GNU-sparse lid wiens sparse kaart eindigt voor zijn werkelijke grootte, komt erl_tar:do_sparse_read/3 overeen met zijn trailing-hole clausule vóór zijn nul-lengte clausule. Nadat het stuk is opgebruikt, leest de clausule met het achterste gat nul bytes, gaat de positie niet vooruit en keert voor altijd terug. Een 2048-byte-archief houdt het extractieproces en één planner bezig totdat het proces is beëindigd. De optie {max_size, N} voorkomt dit alleen wanneer N kleiner is dan de werkelijke grootte van het lid. Extractie met de geheugenoptie wordt niet beïnvloed. hex_core verzendt zijn eigen kopie van erl_tar als hex_erl_tar, en Hex en rebar3 verzenden hex_core met vooraf ingestelde modulenamen (mix_hex_erl_tar en r3_hex_erl_tar). Deze kopieën bevatten dezelfde code en noemen stdlib's erl_tar niet, dus ze worden beïnvloed op elke OTP-versie. OTP 28 wordt niet beïnvloed, maar een toepassing die op OTP 28 wordt uitgevoerd, wordt beïnvloed als deze archieven extraheert via een getroffen versie van hex_core, Hex of wapening3. Dit probleem heeft invloed op OTP van OTP 29.0 vóór OTP 29.1.2, overeenkomend met stdlib van 8.0 vóór 8.1.1, en wapening3 vanaf 3.27.1 en verder, en hex van 2.4.2 vóór 2.5.3; hex_core: van 0.14.0 vóór 0.20.1.

Origineel (Engels) tonen

Loop with Unreachable Exit Condition ('Infinite Loop') vulnerability in Erlang OTP stdlib (erl_tar module), hexpm hex_core (hex_erl_tar module), hexpm hex (mix_hex_erl_tar module) and erlang rebar3 (r3_hex_erl_tar module) allows an attacker who supplies a tar archive to cause a denial of service via a crafted GNU sparse member.

When erl_tar:extract/1,2 writes a member to disk, erl_tar:stream_to_file_loop/3 reads it in chunks of 65536 bytes by default. For a GNU sparse member whose sparse map ends before its real size, erl_tar:do_sparse_read/3 matches its trailing-hole clause before its zero-length clause. After the chunk is used up, the trailing-hole clause reads zero bytes, does not advance the position, and recurses forever. A 2048-byte archive keeps the extracting process and one scheduler busy until the process is killed. The {max_size, N} option prevents this only when N is below the real size of the member. Extraction with the memory option is not affected.

hex_core ships its own copy of erl_tar as hex_erl_tar, and Hex and rebar3 ship hex_core with prefixed module names (mix_hex_erl_tar and r3_hex_erl_tar). These copies contain the same code and do not call stdlib's erl_tar, so they are affected on any OTP version. OTP 28 is not affected, but an application running on OTP 28 is affected if it extracts archives through an affected version of hex_core, Hex or rebar3.

This issue affects OTP from OTP 29.0 before OTP 29.1.2, corresponding to stdlib from 8.0 before 8.1.1, and rebar3 from 3.27.1 onward, and hex from 2.4.2 before 2.5.3; hex_core: from 0.14.0 before 0.20.1.

References