CVE-2026-54786
ŚrednieCVSS 5.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
Wasmtime do wersji 24.0.10, 36.0.11, 44.0.3 oraz 45.0.2 zawiera podatność w natywnej implementacji WASIp1, gdzie funkcja fd_renumber nie zamyka prawidłowo deskryptora pliku, do którego następuje przepisanie. Powoduje to wyciek zasobów w systemie gospodarza, który może prowadzić do wyczerpania dostępnych deskryptorów plików i zasobów.
Ocena ryzyka
Organizacja narażona jest na atak typu wyczerpanie zasobów (resource exhaustion), który może doprowadzić do odmowy usługi (DoS) w środowisku uruchomieniowym WebAssembly. Atakujący może w pętli wywoływać fd_renumber, powodując wyczerpanie deskryptorów plików i pamięci gospodarza.
Rekomendacja
Należy niezwłocznie zaktualizować Wasmtime do wersji 24.0.10, 36.0.11, 44.0.3 lub 45.0.2, w zależności od używanej gałęzi. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do operacji na plikach w modułach WASM.
Inne podatności w Wasmtime
Zobacz wszystkie- CVE-2026-58494Średnie
Wasmtime to środowisko uruchomieniowe dla WebAssembly. Przed wersjami 24.0.11, 36.0.12, 45.0.3 i 46.0.1, komponent wasmtime-wasi podczas tworzenia twardych dowiązań i zmiany nazw sprawdzał uprawnienia katalogów, ale nie uwzględniał uprawnień FilePerms dla źródłowych i docelowych preopenów. Umożliwiało to gościowi WASI z uprawnieniami tylko do odczytu źródłowego pliku nadpisanie plików hosta udostępnionych jako FilePerms::READ przez interfejsy systemów plików wasip1, wasip2 lub wasip3.
- CVE-2026-47261Wysokie
Wasmtime, środowisko uruchomieniowe dla WebAssembly, ma lukę w wersjach przed 24.0.9, 36.0.10 i 44.0.2, która pozwala na obejście mechanizmu kontroli dostępu przy użyciu interfejsów wasip2 descriptor.open-at lub wasip1 path_open. Problem wynika z braku odpowiedniego ustawienia trybu otwarcia, co umożliwia otwarcie pliku z flagą OpenFlags::TRUNCATE bez odpowiednich uprawnień do zapisu.
- CVE-2026-44216Wysokie
Wasmtime od wersji 30.0.0 do 36.0.8, 43.0.2 i 44.0.1 zawiera podatność na panikę przy alokacji bardzo dużych tablic WebAssembly. Problem wynika z arytmetyki sprawdzającej przepełnienie, która powoduje panikę przy próbie utworzenia tablicy o rozmiarze 64-bitowym (zgodnym z propozycją memory64). Atakujący może wywołać panikę poprzez dostarczenie modułu lub komponentu WebAssembly z żądaniem utworzenia ekstremalnie dużej tablicy.
- CVE-2026-34971Wysokie
Wasmtime w wersjach od 32.0.0 do 36.0.7, 42.0.2 i 43.0.1 zawiera błąd w kompilatorze Cranelift na architekturze aarch64, który powoduje nieprawidłowe obliczanie adresów pamięci przy dostępie do sterty. Błąd umożliwia modułom WebAssembly ominięcie kontroli granic i uzyskanie dostępu do dowolnej pamięci hosta, co prowadzi do ucieczki z piaskownicy.
Oryginalny opis (angielski, źródło NVD)
Wasmtime is a runtime for WebAssembly. All versions prior to 24.0.10; versions 25.0.0 through those before 36.0.11; versions 37.0.0 through those before 44.0.3; and versions 45.0.0 and 45.0.1 contain a native implementation of WASIp1 which suffers from a leak in the fd_renumber function where the file descriptor being renumbered to is not properly closed. Wasmtime's implementation erroneously only updated the table of descriptors for WASIp1 and didn't update the underlying table of descriptors used by the host. This behavior means that while fd_renumber works correctly from a guest's perspective it ends up leaking resources in the host that aren't cleaned up until the corresponding Store is destroyed. In a loop, guests can use fd_renumber to cause hosts to exhaust both resources and file descriptors. This bug only affects the native implementation of WASIp1, meaning that only runtimes which load core wasm modules and expose fd_renumber are affected. Runtimes are additionally only affected if they expose the ability to acquire a file descriptor, such as opening a file. For runtimes that deny access to files they are unaffected. This issue has been fixed in versions 24.0.10, 36.0.11, 44.0.3, and 45.0.2.

