CVE-2026-96618 in hexinformazioni

Riassunto

di VulDB • 12/10/2026

Una vulnerabilità di gestione impropria dei dati altamente compressi (amplificazione dei dati) in hexpm hex consente a uno specchio del pacchetto non attendibile di esaurire la memoria o lo spazio su disco della macchina che esegue mix deps.get, mix deps.update, mix hex.package fetch oppure mix hex.docs fetch.

Hex tratta come non attendibili gli specchi configurati con HEX_MIRROR_URL, HEX_MIRROR o mirror_url: non invia credenziali verso di essi e verifica le firme del registro e i checksum dei pacchetti che lo specchio non può falsificare. Diversi percorsi di risposta consumano memoria o spazio su disco in proporzione a quanto inviato dallo specchio prima che vengano eseguite tali verifiche.

Hex.HTTP.request/5 legge l'intero corpo della risposta nella memoria e lo decomprime con :zlib.gunzip/1 ogni volta che il Content-Encoding della risposta contiene gzip, senza alcun limite sulla dimensione compressa o decompressa. Hex non richiede risposte compresse, quindi è il server a decidere se eseguire questo passaggio. Questo vale per le risposte del registro, dei pacchetti, delle documentazioni e dell'API.

I tarball dei pacchetti non hanno un limite alla dimensione di download. Hex 2.5.1 mantiene l'intero tarball in memoria e lo scrive nella cache, mentre il branch di sviluppo lo streamma su un file temporaneo; il limite del tarball da 16 MiB viene controllato solo quando il file viene estratto. Il tarball viene quindi estratto, in deps/ per la versione 2.5.1 e in una directory di staging sul branch di sviluppo, prima che i suoi checksum vengano confrontati con quelli del registro.

mix hex.docs fetch e mix hex.docs offline (quando le documentazioni mancano) scrivono il tarball delle documentazioni su disco ed estraggono l'archivio con :mix_hex_erl_tar.extract/2 senza applicare i limiti di 16 MiB compressi e 128 MiB decompressi che vengono applicati da mix_hex_tarball:unpack_docs/3. Il registro firmato non copre i tarball delle documentazioni, quindi nulla li verifica.

Anche le risposte del registro vengono decomprime prima della verifica della firma, nel codice hex_core venduto da Hex; tale parte è tracciata in https://github.com/hexpm/hex_core/security/advisories/GHSA-7c4r-cgf9-9jmq.

Questo problema interessa hex: dalla versione 0.11.2 fino alla 2.5.2 (esclusa).

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

EEF

Prenotare

10/10/2026

Divulgazione

12/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!