Wysoki Odebrany

CVE-2026-90648

opublikowano:
modyfikacja:
Ocena CVSS
7.1
Wysoki · v4.0
wektor: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

wasm2c w WebAssembly od wersji 1.0.41 umożliwia ucieczkę z piaskownicy w niektórych sytuacjach, które dotyczą głównie platform 32-bitowych, czyli jest to atak typu „table flip”. Nie sprawdza wartości zwracanej przez calloc() w wasm_rt_allocate_funcref_table() (wasm2c/wasm-rt-impl-tableops.inc). Gdy alokacja tabeli funcref nie powiedzie się, tabela->dane pozostawia NULL, podczas gdy tabela->rozmiar zachowuje liczbę elementów zadeklarowanych przez gościa; w związku z tym sprawdzanie granic nadal przebiega pomyślnie, a dostęp do elementów tabeli jest rozstrzygany na bezwzględne adresy pamięci (i * sizeof(wasm_rt_funcref_t)). Daje to dowolny odczyt i zapis pamięci procesu hosta oraz - poprzez table.get, table.set i call_indirect - wykonanie dowolnego kodu, pokonując izolację, którą zapewnia wasm2c (pełna ucieczka z piaskownicy). wasm2c jest używany jako granica piaskownicy w procesie przez RLBox i WasmBoxC, w tym w przeglądarce Firefox, która kompiluje biblioteki Graphite, Hunspell, Ogg, Expat i Woff2 za pośrednictwem wasm2c, aby zawierać niezaufane czcionki, multimedia i dane wejściowe XML. Dlatego potencjalnie może to mieć wpływ na działanie piaskownicy w tych aplikacjach. Eksploatacja wymaga, aby alokacja tablicy funcref nie powiodła się, na przykład w przypadku ograniczenia przestrzeni adresowej (RLIMIT_AS), na hostach 32-bitowych, z vm.overcommit_memory=2 lub przy niskim obciążeniu pamięci. W 64-bitowym systemie Linux z domyślnym nadmiernym zatwierdzeniem alokacja kończy się sukcesem i defekt nie jest wyzwalany. Alokator pamięci wasm2c przerywa działanie w przypadku błędu wywołania calloc w tym samym środowisku wykonawczym; w alokatorze tabel brakuje tego zachowania przerywającego. Zostało to wprowadzone w zatwierdzeniu ab9e0b55 (PR #813).

>_ Słabości (CWE)

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org