CVE-2026-34988 in wasmtimeinformazioni

Riassunto

di VulDB • 15/06/2026

Wasmtime è un runtime per WebAssembly. Dalla versione 28.0.0 fino alle versioni precedenti alla 36.0.7, 42.0.2 e 43.0.1, l'implementazione dell'allocatore a pool (pooling allocator) di Wasmtime contiene un bug in cui, in determinate configurazioni, i contenuti della memoria lineare possono essere trapelati da un'istanza all'altra. L'implementazione del ripristino delle autorizzazioni della memoria virtuale per la memoria lineare utilizzava il predicato errato per determinare se il ripristino fosse necessario; durante il processo di compilazione veniva utilizzato un predicato diverso. Questa divergenza comportava che l'allocatore a pool deduceva erroneamente in fase di esecuzione che non era necessario ripristinare le autorizzazioni della memoria virtuale, mentre la determinazione in fase di compilazione indicava che si poteva fare affidamento sulla memoria virtuale. Per sfruttare questa vulnerabilità è necessario utilizzare l'allocatore a pool (pooling allocator), impostare l'opzione di configurazione Config::memory_guard_size su 0, configurare Config::memory_reservation con un valore inferiore a 4 GiB e impostare max_memory_size dell'allocatore a pool sullo stesso valore della memory_reservation. Se tutte queste condizioni sono soddisfatte, quando la memoria lineare viene riutilizzata le autorizzazioni VM (VM permissions) dell'iterazione precedente non vengono ripristinate. Ciò significa che il codice compilato, che si aspetta un segfault in caso di caricamenti fuori dai limiti (out-of-bounds loads), non genererà effettivamente un segfault e potrà leggere i contenuti precedenti della memoria lineare se erano stati precedentemente mappati. Questo rappresenta una vulnerabilità di trapelamento dei dati tra le istanze guest WebAssembly, che viola la semantica di WebAssembly e compromette inoltre il sandboxing fornito da Wasmtime. Wasmtime non è vulnerabile a questo problema con le impostazioni predefinite, né con quelle predefinite dell'allocatore a pool (pooling allocator), ma gli embedding possono comunque configurare questi valori per causare questa vulnerabilità. Questa vulnerabilità è risolta nelle versioni 36.0.7, 42.0.2 e 43.0.1.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

GitHub M

Prenotare

31/03/2026

Divulgazione

09/04/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00286

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!